2011-07-25 161 views
1

我刚才问了一个关于jquery验证的非常棘手的问题,似乎没有人能够回答它,所以我只想去寻找更基本的方法问题...... 假设我有一个表单(我可以添加MVC2 asp.net表单),一个文本框,包含DateTime的文本框和一个单选按钮(单选按钮的值为Yes或No)。如果我知道表单元素的名称,如何在这些表单元素上获得简单的自定义验证?jquery验证基础知识

记住这些元素都将被动态生成,那么,有没有验证规则......我现在只是希望能掰过来一点点,把永久验证在那里...

我是一个完整的Jquery和Javascript nooob ...我用编程语言做过的所有事情都是在我的代码中添加简单工具...

感谢您的帮助。

回答

1

如果我知道表单元素的名称,如何在这些表单元素上获得简单的自定义验证?

documentation包含许多如何设置插件的示例。下面是使用静态规则的一个例子:

$('#myform').validate({ 
    rules: { 
     Name: { 
      required: true 
     }, 
     DateOfBirth: { 
      required: true, 
      date: true 
     }, 
     IsMajor: { 
      required: true 
     } 
    } 
}); 

,如果你想动态添加这些规则,你可以这样做:

$('#myform').validate(); 

,然后动态规则添加到单个表单元素:

$('#Name').rules('add', { 
    required: true 
}); 

$('#DateOfBirth').rules('add', { 
    required: true, 
    date: true 
}); 

$('#IsMajor').rules('add', { 
    required: true 
}); 
+0

这看起来像我到目前为止所看到的......但是什么是#name ...是表单元素的名称? 所以它会是一个名为name的文本框,名为DateOfBirth的文本框,textBox IsMajor? 单选按钮验证如何?比方说,我有一个单选按钮,可以是“是”,“否”,它必须是其中的一个?我如何验证? – SoftwareSavant

+0

@DmainEvent,在第一种情况下,静态规则Name,DateOfBirth,IsMajor对应于输入字段的** name **属性。在动态应用规则的第二个示例中,'#Name'是jQuery中的id选择器,这意味着它将查找具有id =“Name”'的元素。你可以用一个名字选择器替换它,像这样:$('input [name =“Name”]')'。 –

+0

这听起来太noobtastic了,但我怎么会得到.net字符串到jquery验证规则部分?比方说,我有一个表单元素的Id是element0?可以说,如果该元素为空,我会显示一条消息,指出“element0为空,值必须存在”。再说一次,完全没什么好玩的,但是有没有办法循环这些元素并动态设置规则和消息?也许这只是疯狂的,我应该只写一个巨大的静态jquery语句。谢谢。 – SoftwareSavant

0

只要您将该元素分配给正确的class(例如,),您就不需要知道该元素的id。内置“required”。设置班级,其他所有事情都照顾好。