当我从下拉框中选择一个类型时,表单字段正在改变。 更改意味着隐藏或显示,因此根据表单字段隐藏和显示的下拉值,我需要将j查询验证插件添加到此表单,
我有一个输入
<div class="form-item">
<div class="catergory-inputs">
<input name="address" type="text" class="textarea_medium"
id="Address" value="<?php echo $address['value'] ; ?>" />
</div>
</div>
我验证了这个
var x=$("#contactinfo").validate({
rules: {
address: {
required: true,
minlength: 3,
maxlength: 50,
lettersonly: true
},
},
messages: {
address: {
required: "Enter your Address",
minlength: "At least 3 characters long"
},
}
});
如果只隐藏此字段,我想验证此字段。像这样
var x=$("#contactinfo").validate({
rules: {
if(not hiding) {
address: {
required: true,
minlength: 3,
maxlength: 50,
lettersonly: true
}
},
},
messages: {
if(not hiding) {
address: {
required: "Enter your Address",
minlength: "At least 3 characters long"
}
},
}
});
我怎么能这样做,我在堆栈溢出中看到了类似的问题。但那里的问题没有答案,plz帮助我................... .......... :(
答案 0 :(得分:2)
我认为你可以使用可见选择器。
http://api.jquery.com/visible-selector/
这是未经测试但是;
var x=$("#contactinfo:visible").validate({
顺便说一下,使用验证插件时,您可以这样做;
<input type=text class="required" id="txtName"/>
然后当你调用validate()方法时,如果文本框被隐藏,它将不会被验证。诀窍是将“必需”类添加到类属性
答案 1 :(得分:1)
我想有条件地验证用户名字段以确保它不在数据库中,但仅限于创建新用户。因此,在创建新内容时,我放置了一个javascript变量var newUser=true;
,否则编辑现有用户var newUser=false;
然后在我的规则部分验证中,我放了required: (newUser)?true:false
这会导致验证仅在新用户为true
时验证用户名字段。如果我们加载了现有用户,那么只需在PHP代码中添加javascript var,规则的required
部分就会具有值false
。
请记住,您可以将javascript放入json对象中。因为这都是javascript!
这些是我在学习验证时使用的资源:http://www.ferdychristant.com/blog//articles/DOMM-7LZJN7 //详细说明如何真正使用验证的文章。 http://www.ferdychristant.com/blog//pages/jQuery%20validation%20code http://randomactsofcoding.blogspot.com/2008/10/starting-with-jquery-how-to-write.html http://docs.jquery.com/Plugins/Validation/Methods/required#dependency-expression
在http://docs.jquery.com/Plugins/Validation中只有一个惊人的信息深度...你只需要点击它就可以了!