<?xml version="1.0"?> | |
<!-- $Id: $ --> | |
<!DOCTYPE script PUBLIC | |
"-//Apache Software Foundation//Tapestry Script Specification 3.0//EN" | |
"http://jakarta.apache.org/tapestry/dtd/Script_3_0.dtd"> | |
<!-- | |
Creates a script for validating that a field matches a required pattern. | |
Input symbols: | |
field, form, validator: As normal for a validation script. | |
requiredMessage: Message to display if the field is required yet blank. | |
patternNotMatchedMessage: Message to display if the field does not fulfill the required pattern. | |
--> | |
<script> | |
<include-script resource-path="/org/apache/tapestry/valid/Validator.js"/> | |
<input-symbol key="field" class="org.apache.tapestry.valid.ValidField" required="yes"/> | |
<input-symbol key="form" class="org.apache.tapestry.IForm" required="yes"/> | |
<input-symbol key="validator" class="org.apache.tapestry.valid.PatternValidator" required="yes"/> | |
<input-symbol key="requiredMessage" class="java.lang.String"/> | |
<input-symbol key="patternNotMatchedMessage" class="java.lang.String" required="yes"/> | |
<let key="function" unique="yes"> | |
validate_${field.name} | |
</let> | |
<let key="pattern" unique="yes"> | |
pattern_${field.name} | |
</let> | |
<body> | |
var ${pattern} = new RegExp("${validator.escapedPatternString}"); | |
function ${function}() | |
{ | |
var field = document.${form.name}.${field.name}; | |
<if expression="validator.required"> | |
if (field.value.length == 0) | |
return validator_invalid_field(field, "${requiredMessage}"); | |
</if> | |
if (field.value.length > 0 && !${pattern}.test(field.value)) | |
return validator_invalid_field(field, "${patternNotMatchedMessage}"); | |
return true; | |
} | |
</body> | |
</script> |