두 필드의 유효성을 검사하려고하는데 하나는 숫자이고 다른 하나는 URL입니다. 이 필드 중 적어도 하나는 유효한 값을 가져야합니다. 숫자 필드에 값이 있고 유효한 숫자이거나 url 필드가 있고 유효한 URL 인 경우 유효성 검사가 통과됩니다.requiredif struts 유효성 검사기가 조건에 따라 두 필드를 확인합니다
"requireif"및 "mask"를 사용하여 확인하고 있습니다. 다음은 번호 확인의 예입니다.
<field property="nombre"
depends="requiredif,mask">
<msg
name="mask"
key="errors.nombre"/>
<arg0 key="nombre"/>
<msg
name="requiredif"
key="errors.validateNombreUrl"/>
<arg0 key="nombre"/>
<var>
<var-name>mask</var-name>
<var-value>${nombre}</var-value>
</var>
<var>
<var-name>url</var-name>
<var-value>((url == null) and (*this* == null))</var-value>
</var>
</field>
이와 비슷한 방식으로 URL 필드도 확인합니다. 그러나 유효성 검사기가 필드를 확인하고 두 필드 모두 필수임을 나타내는 오류가 표시됩니다. OR 조건으로 만들려면 어떻게해야합니까? var 값의 표현식이 requiredif에 맞는지 확실하지 않습니다. 왜냐하면 저는 버전의 문제로 인해 사용할 수없는 validwhen에서만 작동한다는 것을 알았 기 때문입니다. OR 조건에서이 두 필드의 유효성을 어떻게 확인합니까?
포인터에 감사드립니다. 지금은이 시험 ((URL == NULL)와 (*이 *! = NULL)) 같은 것을 사용하고 그러나 URL이 널 (null)과 브레 때이 오류를 던지고있다 필드에 유효한 숫자가 있습니다 :(조건에 문제가 있습니까? –
Abhishek
잘 모르겠으므로 나머지 유효성 검사 설정을 볼 수 없습니다. –