2013-07-18 4 views
0

일부 입력 필드는 Livevalidation이 비어 있지 않은지 확인합니다. 이를 위해 다음 코드를 사용하고 있습니다 :Livevalidation 용 입력 필드 결합

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

양쪽 입력 Filds 인라인입니다. 그러나 메시지는 항상 입력 필드 뒤에 직접 표시됩니다. 이제 첫 번째 입력 필드의 메시지는 두 번째 필드의 위치를 ​​변경합니다.

2 필드의 유효성 검사를 결합하는 가장 좋은 방법을 찾고 하나의 메시지 만 표시했습니다. 당신은 실제 결과를 볼 수 있습니다 여기

: http://jsfiddle.net/Vme7C/

답변

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); 
+0

들으 많은 -이 수정은 완벽하게 작동합니다! 하지만 더 이상 필요하지 않습니다. 이제 LiveValation을 사용하여 입력 값 (valide 또는 invalide)을 확인하고 CSS3 UI Module (http://alistapart.com/d/forward-thinking)과 같은 필드를 애니메이션으로 만 사용합니다. -form-validation/index.html – feder

+0

@ user2401273 그러면 내 대답을 올바른 것으로 확인할 수 있습니다. – dbanet