我有来自同一组的3个RadioButton,每个radioButton都启用了它的列表框.我想检查是否检查了radiobutton,以及是否从列表框中选择了项目.
所以我使用CustomValidator只使用服务器端方法来检查条件并触发特定的ErrorMessage.
我的问题是,我可以调用此方法无法将customValidator分配给控件,因为我有3个可能的radioButtons?
谢谢,艾迪
据我所知,设计只对电子邮件和密码进行验证,可以在初始化程序devise.rb中重新配置:
# ==> Configuration for :validatable
# Range for password length. Default is 6..128.
# config.password_length = 6..128
# Regex to use to validate the email address
# config.email_regexp = /\A([\w\.%\+\-]+)@([\w\-]+\.)+([\w]{2,})\z/i
Run Code Online (Sandbox Code Playgroud)
如何添加自定义字段的验证,已添加到devise_invitable的邀请表单中?
例如,我需要验证表单中的first_和last_名称:
= simple_form_for resource, :as => resource_name, :url => invitation_path(resource_name) do |f|
= f.input :first_name
= f.input :last_name
= f.input :email
= f.button :submit
Run Code Online (Sandbox Code Playgroud)
提前致谢!
我已经看到了很多关于这个的问题,但我很难过!请帮忙!
我有一个customvalidator.它正在开火,但它并没有阻止回发.请帮我这样做!我可以看到console.log在帖子之前注册.但是,无论如何它都会回复.如何防止回发?
我已经尝试添加一个控件来验证,并验证空文本是否等于true.我也尝试添加e.preventdefault,这不起作用:(
如何防止回发?
<script type="text/javascript">
//<![CDATA[
function validateWhyUnlikely(source, args) {
console.log(1);
args.isValid = false;
}
//]]>
Run Code Online (Sandbox Code Playgroud)
<asp:TextBox ID="txtWhyUnlikely" runat="server" Rows="4" cols="20"
CssClass="surveyTextArea" />
<asp:CustomValidator runat="server" ID="cfvWhyUnlikley" ErrorMessage="Please provide a reason since you rated an item as unlikely to provide."
CssClass="surveyError surveySmallIndent" Display="Dynamic"
ClientValidationFunction="validateWhyUnlikely" />
<asp:Button ID="btnSubmit" runat="server" Text="Submit" CssClass="smallSpecial" OnClick="btnSubmit_Click" />
jQuery(document).ready(function () {
jQuery('#<%= btnSubmit.ClientID %>').click(function (e) {
if (Page.IsValid == false) {
console.log(false);
e.preventDefault();
return false;
}
});
});
Run Code Online (Sandbox Code Playgroud) 我正在使用像这样的CustomValidationAttribute
[CustomValidation(typeof(MyValidator),"Validate",ErrorMessage = "Foo")]
Run Code Online (Sandbox Code Playgroud)
我的验证器包含此代码
Run Code Online (Sandbox Code Playgroud)public class MyValidator { public static ValidationResult Validate(TestProperty testProperty, ValidationContext validationContext) { if (string.IsNullOrEmpty(testProperty.Name)) { return new ValidationResult(""); <-- how can I get the error message from the custom validation attribute? } return ValidationResult.Success; } }
那么如何从自定义验证属性中获取错误消息?
c# asp.net-mvc customvalidator data-annotations asp.net-mvc-3
我有一个DTO类,例如,看起来像这样:
public class ExampleDto
{
[DataMember(Name = "Date", IsRequired = true, Order = 1), Required]
public DateTime Date { get; set; }
[DataMember(Name = "ParentExample", IsRequired = false, Order = 2, EmitDefaultValue = false)]
public Guid? ParentExampleId { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
例如,如果用户提供的日期不正确,例如:
<?xml version="1.0" encoding="UTF-8" ?>
<ExampleDto xmlns="http://customurl/">
<Date>2012-05-25T18:23:INCORRECTDATE</Date>
<ParentExample>B62F10A8-4998-4626-B5B0-4B9118E11BEC</ParentExample>
</ExampleDto>
Run Code Online (Sandbox Code Playgroud)
或者只是一个空体,然后传递给动作的ExampleDto参数将为null(在前一种情况下,ModelState将有错误).
我将一个CustomValidationAttribute应用于该类,因此类声明如下所示:
[CustomValidation(typeof(CustomExampleValidator), "Validate")]
public class ExampleDto
Run Code Online (Sandbox Code Playgroud)
现在我添加了这个,如果ExampleDto参数为null(由于空体或序列化问题),则抛出ArgumentNullException:
<?xml version="1.0" encoding="UTF-8"?>
<Response xmlns="http://customurl" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Type>Failure</Type>
<Message>An unknown error has occurred</Message>
<Errors>
<Error>
<Message>System.ArgumentNullException</Message>
<MessageDetail>Value cannot be null. Parameter …
Run Code Online (Sandbox Code Playgroud) 我认为我试图做的事情相当微不足道,但事实证明这对我很有帮助.情况就是这样.
我有两个单选按钮(使用RadButton实现)和RadTextBox.我想检查客户端,然后在选择两个单选按钮之一时提交RadTextBox不为空的表单(假设是第一个).我使用了CustomValidator,并且我将ValidateEmptyText ="True"设置为没有运气.代码摘录如下:
<asp:Panel runat="server" ID="Panel1">
<table>
<tr>
<td class="auto-style5">
<telerik:RadButton ID="rdBtnIndividual" runat="server" AutoPostBack="False" GroupName="rdEmplrType"
Text="Individual" ToggleType="Radio" OnClientCheckedChanged="rdBtnPhysical_CheckedChanged"
UseSubmitBehavior="False">
<ToggleStates>
<telerik:RadButtonToggleState PrimaryIconCssClass="rbToggleRadioChecked" />
<telerik:RadButtonToggleState PrimaryIconCssClass="rbToggleRadio" />
</ToggleStates>
</telerik:RadButton>
</td>
<td>
<telerik:RadButton ID="rdBtnLegal" runat="server" AutoPostBack="False" GroupName="rdEmplrType" Text="Legal Entity"
ToggleType="Radio" OnClientCheckedChanged="rdBtnLegal_CheckedChanged" UseSubmitBehavior="False">
<ToggleStates>
<telerik:RadButtonToggleState PrimaryIconCssClass="rbToggleRadioChecked" />
<telerik:RadButtonToggleState PrimaryIconCssClass="rbToggleRadio" />
</ToggleStates>
</telerik:RadButton>
</td>
</tr>
<tr>
<td class="auto-style5">
<label>Name:</label>
</td>
<td>
<telerik:RadTextBox ID="txtName" Runat="server" EmptyMessage="Name" LabelWidth="64px" Resize="None" Width="160px" DisabledStyle-BackColor="Silver">
</telerik:RadTextBox>
</td>
<td><asp:RequiredFieldValidator ID="THIS_IS_WORKING" ControlToValidate="txtName"
runat="server" ErrorMessage="<img src='images/Exclamation.png' Title='Required Field'/>" >
</asp:RequiredFieldValidator>
</td>
</tr>
<tr> …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用指令创建自定义验证器,但出现以下错误。
ERROR in ./src/app/CustomValidators/white-space-validator.directive.ts
Module not found: Error: Can't resolve '@angular/forms/src/validators' in 'D:\Angular\Admin\src\app\CustomValidators'
resolve '@angular/forms/src/validators' in 'D:\Angular\Admin\src\app\CustomValidators'
Parsed request is a module
using description file: D:\Angular\Admin\package.json (relative path: ./src/app/CustomValidators)
Field 'browser' doesn't contain a valid alias configuration
after using description file: D:\Angular\Admin\package.json (relative path: ./src/app/CustomValidators)
resolve as module.....
Run Code Online (Sandbox Code Playgroud)
指令文件中的代码:
import { Directive } from '@angular/core';
import { ValidatorFn, Validator } from '@angular/forms/src/directives/validators';
import { AbstractControl, FormControl } from '@angular/forms/src/model';
import { NG_VALIDATORS } from '@angular/forms/src/validators';
@Directive({
selector: '[whiteSpace][ngModel]',
providers: [ …
Run Code Online (Sandbox Code Playgroud) customvalidator typescript angular-directive angular-validation angular
我们使用复杂类型来管理我们的可翻译字段,如下所示:
[ComplexType]
public class Translated
{
[Required]
public string NL { get; set; }
[Required]
public string EN { get; set; }
[ScaffoldColumn(false)]
public string TranslatedText
{
get
{
return Util.Translate(NL, EN);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我们要求字段存在.但在某些情况下,整个Translated字段是可选的,如:
public class Question
{
...
[Optional(ErrorMessage="Foo")]
public Translated Description { get; set; }
...
}
Run Code Online (Sandbox Code Playgroud)
但是,似乎可以计算Optional属性,当它返回false时,结果不会执行任何操作.
class OptionalAttribute : ValidationAttribute
{
public override bool IsValid(object value)
{
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
当我将可选属性放在非复杂类型上时,它按预期工作,错误消息将始终为Foo.
最终目标是在两种情况下允许描述为空,但是当填充其中一个字段时,错误当然应该传播.
停止验证递归会导致该字段是可选的,但是如果字段被填充,它也会阻止字段的验证.
有关如何实现这一目标的任何想法?
entity-framework customvalidator entity-framework-ctp5 entity-framework-4.1
在O'Reilly的"Head first Rails"(编辑,2009)的练习中,有2个相关的对象.
在"飞行"的对象[我用来注释宝石显示每个属性]:
# == Schema Information
#
# Table name: flights
#
# id :integer not null, primary key
# departure :datetime
# arrival :datetime
# destination :string(255)
# baggage_allowance :decimal(, )
# capacity :integer
# created_at :datetime
# updated_at :datetime
#
class Flight < ActiveRecord::Base
has_many :seats
end
Run Code Online (Sandbox Code Playgroud)
Ant "Seat"对象:
# == Schema Information
#
# Table name: seats
#
# id :integer not null, primary key
# flight_id :integer …
Run Code Online (Sandbox Code Playgroud) 我想运行任何客户端验证例程连接到特定的文本输入元素.
已使用CustomValidator
以下方式设置验证:
<asp:textbox id="AddEstTime" runat="server" Width="55px"></asp:textbox><br />
<asp:CustomValidator ID="AddEstTimeCustomValidator" ClientValidationFunction="AddEstTimeCustomValidator_ClientValidate" OnServerValidate="AddEstTimeCustomValidator_ServerValidate" ErrorMessage="Please enter a time" ControlToValidate="AddEstTime" runat="server" Display="Dynamic" ValidateEmptyText="true"/>
<asp:CheckBox ID="AddIsTM" runat="server" Text="T&M" />
Run Code Online (Sandbox Code Playgroud)
和javascript:
function AddEstTimeCustomValidator_ClientValidate(sender, args) {
var checkbox = $("input[id$='IsTM']");
args.IsValid = checkbox.is(":checked") || args.Value.match(/^\d+$/);
}
Run Code Online (Sandbox Code Playgroud)
当CheckBox
"AddIsTM"状态的变化,我想重新验证textbox
"AddEstTime",利用其钩取CustomValidator
"AddEstTimeCustomValidator".
我知道焦点 - >添加一个字符重新聚焦 - >删除字符.我想找到一个更正确的方法.asp.net新手.
customvalidator ×10
asp.net ×3
validation ×3
.net ×1
angular ×1
asp.net-4.0 ×1
asp.net-mvc ×1
c# ×1
c#-4.0 ×1
devise ×1
javascript ×1
jquery-1.4 ×1
rad-controls ×1
telerik ×1
typescript ×1