javascript - 在 asp.net 中使用 jquery 验证插件时这可能吗

标签 javascript jquery jquery-validate

我想像这样传递字段的名称属性...

rules: {               
             '($(txtFName).attr('name'))': {
             required: true,
             No_Spl_Char: "DFT"
             }
    },

这不起作用,我似乎找不到任何其他方法来传递名称属性。我也使用 UniqueID 来获取名称属性,但表单字段位于不同的控件中,因此它不起作用。任何人都可以建议一种更聪明的方法来获取名称属性并传递。始终感谢您的帮助。

我有多个规则和消息...并且我无法再使用 UniqueID,因为某些文件位于不同的控件中,而不是位于同一控件中。

$(document).ready(function() {
    // validate the comment form when it is submitted
    $("#aspnetForm").validate({
    onfocusout: function(element) { $(element).valid(); },
    success: function(label) {
       label.addClass("validfld");
    },
    validClass: "validfld",  
    rules: {
            <%=txtFNameRoom.UniqueID%>: {
             required: true,
             No_Spl_Char: true
             },
             <%=txtLNameRoom.UniqueID%>: {
             required: true,
             No_Spl_Char: true
             },
             <%=txtEmail.UniqueID%>: {
             required: true,
             email: true
             },
             <%=ddlCountry.UniqueID%>: {
             required: true,
             valueNotEquals: "DFT"
             },
             <%=ddlMobileNumber.UniqueID%>: {
             required: true,
             valueNotEquals: "DFT"
             },
             <%=txtTelephone.UniqueID%>: {
             required: true,
             digits: true
             },
             <%=DropDownList1.UniqueID%>: {
             required: true,
             valueNotEquals: "DFT"
             }
    },
    messages: {
        <%=txtFNameRoom.UniqueID%>:{
            required: "Please enter your firstname.",
            No_Spl_Char: "Special Characters are not allowed."
        },
        <%=txtLNameRoom.UniqueID%>:{
            required: "Please enter your lastname.",
            No_Spl_Char: "Special Characters are not allowed."
        },
        <%=txtEmail.UniqueID%>:{
        required: "Please enter your email.",
        email: "Please enter valid email."
        },
        <%=ddlCountry.UniqueID%>:{
        required: "Please select your country.",
        valueNotEquals: "Please select your country."
        },
        <%=ddlMobileNumber.UniqueID%>: "Please enter your country code.",
        <%=txtTelephone.UniqueID%>:{
        required: "Please enter your email.",
        digits: "Please enter only digits."
        },
        <%=DropDownList1.UniqueID%>: "Please select your bed preference."

}

最佳答案

你可以试试这个:

var rulesObject = {};
rulesObject[$(txtFName).attr('name')] = {
   required: true,
   No_Spl_Char: "DFT"
};
rulesObject['<%=txtFNameRoom.UniqueID%>'] = {
    required: true,
    No_Spl_Char: true
};
rulesObject['<%=ddlCountry.UniqueID%>'] = {
    required: true,
    valueNotEquals: "DFT"
};
//etc...


//then

$("#aspnetForm").validate({
     //......
     rules: rulesObject
     //......

关于javascript - 在 asp.net 中使用 jquery 验证插件时这可能吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11683563/

相关文章:

javascript - 对当前和 future 的元素运行匿名函数?

php - 只允许字母和空格验证 jquery

jquery - 使用 JQuery 验证来验证字段而不进行任何提交?

javascript - 我是否必须为与我的 Angular 应用程序相关的每个文件声明一个 Angular 模块 var?

javascript - 从 Python Lambda 中的 POST 请求中提取参数

Javascript:如何检查样式是否已注入(inject)

javascript - Chrome 和 Firefox 的 onbeforeunload 问题

javascript - 弹出成功更新数据库 PHP

javascript - jQuery 插件 - 仅在第一次加载时工作

javascript - Jquery表单验证插件中如何修改 "This field is required"的内容?