xPDOMinLengthValidationRule
Last updated Apr 12th, 2019 | Page history | Improve this page | Report an issue
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$311 per month—let's make that $500!
Learn moreWhat Does the Rule Do?¶
This rule verifies that the field is at least X number of characters long, where X is defined by the "value" field in the schema.
Using the Rule¶
First, our model:
<model package="test" baseClass="xPDOObject" platform="mysql"
defaultEngine="MyISAM" tablePrefix="test_">
<object class="myTest" table="test" extends="xPDOSimpleObject">
<field key="name" dbtype="varchar" precision="255"
phptype="string" default="" null="false" />
<validation>
<rule field="name"
name="myMinLenRule"
type="xPDOValidationRule"
rule="xPDOMinLengthValidationRule"
value="1"
message="Please specify a name."
/>
</validation>
</object>
</model>
From there, go ahead and generate the model from the XML schema. And now in a Snippet we'll call Test:
$output = '';
$modx->addPackage('test','/path/to/my/test/model/','test_');
$obj = $modx->newObject('myTest');
$obj->set('name','');
$validator = $obj->getValidator();
if ($validator->validate() == false) {
$messages = $validator->getMessages();
foreach ($messages as $errorMsg) {
$output .= $errorMsg['message'];
}
}
This will display:
Please specify a name.