2017-04-10 2 views
0

jQuery 유효성 검사 Plugin의 기본 오류 메시지를 변경해야합니다. 나는 이것을 달성하는 방법을 here에서 배웠으며,이 방법은 훌륭합니다. 그러나 좀 더 customazation이 필요합니다. 입력 필드 유형에 따라 다른 오류 메시지를 설정할 수 있습니까? I가 의미 :jQuery 유효성 검사, 입력 유형에 따른 다른 오류 메시지

<input type="text" required> 

기본 오류 massege가 있어야한다 "이 분야 필링이 필요합니다." 및에 대한

<input type="file" required> 

기본 오류 massege는 "첨부 문서가 필요합니다"합니다.

$('form').validate({     
    messages: { 
     FieldName: { required: "Attaching document is required" } 
    } 
}); 

문제는, 폼이 정말 큰 것을, 그래서 별도의 오류 메시지가 좋은 해결책이되지 않을 것 쓰고 생각 : 은 내가 이런 분야에 대해 개별적으로 오류 메시지를 설정할 수 있다는 것을 알고.

<input type="text" name="textfield" required> 
<input type="file" name="filefield" required> 

다음 확인 메시지가 될 것입니다 :

var validator = $("form").validate({ 
rules: { 
    textfield: "required", 
    filefield: "required", 
}, 
messages: { 
    textfield: "Filling this field is required", 
    textfield: "Attaching document is required", 
} 
} 
+0

괜찮 으면 양식에 몇 개의 텍스트 상자/파일 필드가 있는지 말씀해 주실 수 있습니까? –

+0

9 가지 크기의 양식이 있습니다. 전반적으로 나는 거의 300 개의 입력 필드를 가지고 있으며, 48 개는 "파일"필드 @SarojSasmal –

답변

-1

은 2 개 필드가 각 입력 필드에 다른 이름을 지정하고 이름

가정에 대해 개별적으로 유효성 검사 규칙을 만들 .rules('add') 메서드를 jQuery .each()과 결합하여을 기반으로 오류 메시지를 전역 적으로 변경합니다..

$('input[type="text"]').each(function() { 
    $(this).rules('add', { 
     messages: { 
      required: "this TEXT field is required" 
     } 
    }) 
}); 

$('input[type="file"]').each(function() { 
    $(this).rules('add', { 
     messages: { 
      required: "this FILE upload field is required" 
     } 
    }) 
}); 

DEMO : jsfiddle.net/cftesLwd/

내 데모 당신이 규칙 자체를 선언하기 위해이 방법을 사용하지 않는 곳의 경우에도 메시지를 변경하려면이 방법을 사용할 수 있음을 보여줍니다. 메시지는 required 속성을 포함하는 필드에만 표시됩니다. 그렇지 않으면 인라인 required 특성이없는 경우에도 you can also easily declare the required rule for all inputs of these types입니다.

+0

고맙습니다. 질문을 한 번 더 읽어보십시오. 주어진 솔루션이 받아 들여지지 않는 이유를 설명했습니다. –

+0

귀하의 상황에 맞는 해결 방법이 하나 있습니다. 각 필드에 대해 메시지를 선언 할 필요는 없지만 'name'속성이 모든 필드에 설정되어 있다고 가정합니다. 그런 다음 모든 필드를 반복하여 필드 유형을 확인하고 validator.messages 값에 대한 객체를 작성하십시오. 뭔가 : if (field.attr ("type") == 'text') {msgObj [field.attr ("name")] = "그 다음에이 필드를 채우는 것이 필요합니다. messages = msgObj; ' –

+0

* "해결 방법이 하나 있습니다"* ~ 필요 없음; 이미 내장 된 방법이 있습니다. 또한, 입력에'required' 속성을 사용할 때'rules' 객체 안에 선언을 넣는 것은 완전히 중복되고 불필요합니다. – Sparky