xPDOMaxLengthValidationRule
Last updated Oct 17th, 2026 | 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
$194 per month—let's make that $500!
Learn moreWhat Does the Rule Do?¶
This rule verifies that a field is X characters long or fewer, where X is the value attribute in the XML schema. A value of 0 disables the check: every value passes.
Using the Rule¶
First, our model:
<model package="Test" baseClass="xPDO\Om\xPDOObject" platform="mysql"
defaultEngine="InnoDB" version="3.0">
<object class="myTest" table="test" extends="xPDO\Om\xPDOSimpleObject">
<field key="name" dbtype="varchar" precision="255"
phptype="string" default="" null="false" />
<validation>
<rule field="name"
name="myMaxLenRule"
type="xPDOValidationRule"
rule="xPDOMaxLengthValidationRule"
value="10"
message="The name must be 10 characters or fewer."
/>
</validation>
</object>
</model>
Generate the model from the XML schema, then validate an object in a Snippet:
$output = '';
$modx->addPackage('Test', '/path/to/components/test/model/');
$obj = $modx->newObject('Test\myTest');
$obj->set('name','This is a really long string that will fail.');
$validator = $obj->getValidator();
if (!$validator->validate()) {
foreach ($validator->getMessages() as $errorMsg) {
$output .= $errorMsg['message'];
}
}
return $output;
This will display:
The name must be 10 characters or fewer.
See Also¶
- xPDOForeignKeyConstraint
- xPDOMaxLengthValidationRule
- xPDOMaxValueValidationRule
- xPDOMinLengthValidationRule
- xPDOMinValueValidationRule
- xPDOObjectExistsValidationRule
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
$194 per month—let's make that $500!
Learn more










