blob: fdaef23027e8c7ce995cec37c04a90b59b0b1e5c [file] [log] [blame]
<?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 &gt; 0 &amp;&amp; !${pattern}.test(field.value))
return validator_invalid_field(field, "${patternNotMatchedMessage}");
return true;
}
</body>
</script>