根据另一个字段忽略少数字段的验证

时间:2013-08-13 10:51:59

标签: jquery jquery-validation-engine

我使用 jquery验证引擎来验证以下表单。

Static <input type="radio" name="mode" value="Static" data-validation-engine="validate[required] radio" data-prompt-position="topRight:-70"/>

DHCP <input type="radio" name="mode" value="dhcp" data-validation-engine="validate[required] radio" data-prompt-position="topRight:-70"/>

IP <input type="text" name="ip" id="ip" data-validation-engine="validate[required,custom[ipv4]]" data-prompt-position="topRight:-70"/>

Gateway <input type="text" name="gateway" id="gateway" data-validation-engine="validate[required,custom[ipv4]]" data-prompt-position="topRight:-70"/>

DNS <input type="text" name="dns" id="dns" data-validation-engine="validate[required,custom[ipv4]]" data-prompt-position="topRight:-70"/>

通常ip / gateway / dns按规则验证,但是当dhcp模式选择时我需要忽略ip / gateway / dns验证。 (验证仅需要静态模式选择

在jquery脚本中,我只是初始化validateEngine,如下所示。

$("#my_form").validationEngine();

知道如何归档此任务。

1 个答案:

答案 0 :(得分:0)

调用此函数onchange单选按钮事件,如果是dpcp,则状态为true,否则为false

function state_change(state){
    if(state){
        $('#ip').removeAttr("data-validation-engine");
        $('#gateway').removeAttr("data-validation-engine");
        $('#dns').removeAttr("data-validation-engine");
    } else{
        $('#ip').attr("data-validation-engine","validate[required,custom[ipv4]]");
        $('#gateway').attr("data-validation-engine","validate[required,custom[ipv4]]");
        $('#dns').attr("data-validation-engine","validate[required,custom[ipv4]]");
    }
}