양식에 전자 메일과 전화 번호 (정수) 필드가 두 개 있습니다. 폼은 struts 유효성 확인 프레임 워크 (ActionClass-validation.xml)를 사용하여 유효성을 검사합니다. 이 두 필드는 선택 사항이므로 사용자는 비워 둘 수 있습니다. 그러나 그들이 비어 있지 않으면 필드의 유효성을 검사해야합니다. 이 작업을 수행하기 위해 XML로 validator를 작성하는 방법을 알려주십시오.Struts 2는 비어 있지 않은 경우 필드를 확인합니다.
2
A
답변
1
당신은 또한 주석을 사용할 수있는이
<field name="email">
<field-validator type="email">
<message>Invalid Email (empty email accepted)</message>
</field-validator>
</field>
<field name="contact">
<field-validator type="regex">
<param name="expression"><![CDATA[([1234567890]+)]]></param>
<message>Invalid Contact Number (empty number accepted)</message>
</field-validator>
</field>
4
보십시오. 제 의견으로는 이해하기 쉽고 작성하고 디버그하기가 더 쉽습니다.
: 당신은 필드 (또는 조치) 에러 태그를 사용하여 오류를 참조 할 수 있습니다 JSP에서@RegexFieldValidator(key = "validation.number", message = "", type = ValidatorType.SIMPLE, expression = NUMBER_PATTERN_STRING)
public String getNumber() {
return number;
}
: 당신이 정규식 유효성 검사기를 사용할 수 있습니다, 수에 대한
@EmailValidator(type = ValidatorType.SIMPLE, message = "", key = "validation.email")
public String getEmail() {
return email;
}
:이 예입니다
<s:fielderror fieldName="email" cssClass="myerrorclass"/>
<s:textfield name="email" cssClass="myclass" cssErrorClass="myothererrorclass"/>
코드가 아주 자명하다면 좋겠습니다. 해피 코딩! ;)
+0
전자 메일 및 전화가 비어 있으면 문자열에서 유효성 검사를 거쳐야합니다. 제목은 "Struts 2가 비어 있지 않으면 필드의 유효성 검사" – sytolk
xml은 재사용하려는 경우 (시간을 절약 할 수있는 시점까지) 좋기 때문에 많은 사람들이 올바른 정규 표현식/xml 구문에 두뇌를 얹어 보았습니다. 몇 줄의 자바가 몇 분 밖에 걸리지 않았을 것입니다! – Quaternion
이메일의 경우 setter에서 @EmailValidator를 사용하는 것이 명확합니다. 참조 (섹션 유효성 검사 주석) : http://struts.apache.org/2.x/docs/annotations.html – Quaternion
@Quaternion 또한 유효성 검사 방법을 선호합니다. 유효성 검사를 위해 Java 코드를 사용하면 더욱 강력 해집니다. – anu