0

如果它们不为空,我会检查一些带有 Livevalidation 的输入字段。为此,我使用以下代码:

        <script type="text/javascript">
            var street = new LiveValidation('street');
            var streetnumber = new LiveValidation('streetnumber');
            street.add( Validate.Presence );
            streetnumber.add( Validate.Presence );
        </script> 

两个输入文件都是内联的。但是消息总是会直接显示在 input-Field 后面。现在,来自第一个输入字段的消息将重新定位第二个字段。

我正在寻找组合来自 2 个字段的验证并仅显示一条消息的最佳方法。

在这里你可以看到实际结果:http: //jsfiddle.net/Vme7C/

4

1 回答 1

1

http://jsfiddle.net/Vme7C/1/

var street = new LiveValidation('street',{
    onValid:showmessage(true),onInvalid:showmessage(false)
});
var streetnumber = new LiveValidation('streetnumber',{
    onValid:showmessage(true),onInvalid:showmessage(false)
});

var streetvalid=false,streetnumbervalid=false,
    ls=document.getElementById('msgli');
function showmessage(val){
    return function(){
        if(this.element.id=="street")
            streetvalid=val;
        else
            streetnumbervalid=val;
        if(streetvalid && streetnumbervalid){
            ls.innerHTML="All fields are valid";
            return;
        }
        if(!streetvalid && !streetnumbervalid){
            ls.innerHTML="No field is valid";
            return;
        }
        ls.innerHTML=(!streetvalid?"Street":"Street number")
            +" field is invalid";
        return;
    }
}

street.add(Validate.Presence);
streetnumber.add(Validate.Presence);
于 2013-07-18T01:47:44.400 回答