jquery验证需要vs不需要

问题描述:

我有一个jQuery验证插件。我不希望我的表单提交,如果有某些事情是不正确的。如果它没有特定的日期字段或其他varChar(25)字段,我不希望它提交。如果某个字段中有超过4000个字符,我也希望确保它不会提交。如果该字段没有字符,则可以提交表单。为了与jquery验证一起工作,我需要做出一个需要验证的验证吗?jquery验证需要vs不需要

$("#temp1").validate({ 
     rules: { 
      HospitalFinNumber: { 
       required: true, 
       minlength: 6 
      }, 
      DateOfBirth: { 
       required: true 
      }, 
      AdmitDate: { 
       required: true 
      }, 
      Comment: { 
       maxlength: 4000 
      } 
     }, 
     messages: { 
      HospitalFinNumber: 'Please Enter a Hospital Fin number', 
      DateOfBirth: 'Please enter a valid Date Of Birth', 
      AdmitDate: 'Please select an Admit Date' 
     } 

请注意,我有前三个字段,最后一个是不需要的。我试图提交表单,如果该字段中有超过4000个字符,它确实会回发到服务器。这将是一个问题。我需要以某种方式有条件地要求这个字段。另外,如果需要设置为true,那么您应该无法将填写正确的那些字段提交给表单?

+0

'Comment'是字段的'name',不一定是'id'正确? – 2011-12-27 21:22:45

+0

正确的一个mundo。评论是该字段的名称。 element32是id – SoftwareSavant 2011-12-28 12:12:51

你有两个选择,要么写custom validation classes,要么使用必需的依赖关系表达式,而不是仅仅使用true。我认为后者更漂亮。

请参阅the docs对此。以下是如何根据长度可选地要求您的评论字段:

required: function(element) { 
    return $(element).val().length > 4000; 
} 
+0

谢谢。这实际上是有道理的。 – SoftwareSavant 2011-12-28 12:28:31

+0

顺便说一句,为什么功能键如果$(元素).val()。length> 4000;难道我们不希望它低于4000. – SoftwareSavant 2011-12-28 12:42:07

+0

是的抱歉,我从来没有完全理解所需条件应包含什么内容......什么时候需要它?我可以编辑我的答案以反映这一点 – Simeon 2011-12-28 17:20:49