Jquery 向使用Serenity模板的ASP.NET应用程序添加字段验证
我目前正在开发一个使用VisualStudio中的Serenity模板(Serene)的基本CRUD web应用程序。此模板提供对多个插件的访问。Sergen插件生成c#和html文件,为指定数据库创建CRUD表。jQuery验证插件用于修改客户端字段验证。我试图通过将以下jQuery和regex组合(注释部分)添加到TableIndex.cshtml文件(由Sergen生成)来向频率输入字段添加自定义字段验证:Jquery 向使用Serenity模板的ASP.NET应用程序添加字段验证,jquery,asp.net,jquery-validate,Jquery,Asp.net,Jquery Validate,我目前正在开发一个使用VisualStudio中的Serenity模板(Serene)的基本CRUD web应用程序。此模板提供对多个插件的访问。Sergen插件生成c#和html文件,为指定数据库创建CRUD表。jQuery验证插件用于修改客户端字段验证。我试图通过将以下jQuery和regex组合(注释部分)添加到TableIndex.cshtml文件(由Sergen生成)来向频率输入字段添加自定义字段验证: 不幸的是,字段验证仍然没有发生。假设您的方法的其余部分是正确的,那么您就错误地构造
不幸的是,字段验证仍然没有发生。假设您的方法的其余部分是正确的,那么您就错误地构造了
规则
对象
$("#TableDialog1_Form").validate({
rules: {
TableDialog1_Frequency: "required TableDialog1_Frequency",
},
});
当存在多个规则时,不能使用此速记列出规则。还不清楚您是否在字段和规则上使用了相同的名称
对方法:参数使用键:值
对,如下所示
$("#TableDialog1_Form").validate({
rules: {
field_name: { // <- NAME of the field here
required: true,
TableDialog1_Frequency: true
},
another_field_name: {
// rules for this field
},
// remaining fields
},
// other validate options, etc.
});
名称
无关紧要,只要:
- 该字段包含一个
名称
名称
对于表单是唯一的
我还质疑您对自定义方法命名的选择。如果规则将输入验证为时间格式,那么可能应该将其命名为更通用的名称,如time
。自定义规则可以在无限数量的字段上使用。您是否将不引人注目的验证插件作为ASP的一部分使用?如果是这样,那么就不能构造对.validate()
的调用,因为它将被忽略,而由不引人注目的验证插件自动构造调用。这就是使用不引人注目的验证的全部意义。不,我没有使用那个插件。我也不能(或者至少不知道如何/在我的解决方案中找不到)访问模态表单组件的html代码,这会阻止我添加数据属性。
$(document).ready(function () {
$.validator.addMethod(
"regex",
function (value, element, regexp) {
var re = new RegExp(regexp);
return this.optional(element) || re.test(value);
},
"Please check your input."
);
});
$(document).on('click', '.tool-button.save-and-close-button', function () {
var item = $("div.field.Frequency input").attr("id");
var abc = $("div.s-Form form").attr("id");
$(abc).validate();
$(item).rules("add", {
regex: "^(\d)+(d|h|m|s)$"
});
$(abc).validate();
});
$(document).on('click', '.tool-button.apply-changes-button.no-text', function () {
var item = $("div.field.Frequency input").attr("id");
var abc = $("div.s-Form form").attr("id");
$(abc).validate();
$(item).rules("add", {
regex: "^(\d)+(d|h|m|s)$"
});
$(abc).validate();
});
$("#TableDialog1_Form").validate({
rules: {
TableDialog1_Frequency: "required TableDialog1_Frequency",
},
});
$("#TableDialog1_Form").validate({
rules: {
field_name: { // <- NAME of the field here
required: true,
TableDialog1_Frequency: true
},
another_field_name: {
// rules for this field
},
// remaining fields
},
// other validate options, etc.
});
<input name="foo234" type="text" class="required TableDialog1_Frequency" ....