核心區別
| 驗證器 | 適用類型 | 校驗邏輯 | 典型場景 |
| required | 任意對象引用 | 值不為 null | Date、自定義對象、集合等非字符串字段必填 |
| requiredstring | String | 非 null 且 trim 後長度 > 0 | 表單文本框、textarea 等字符串字段必填 |
配置示例
required 用法
<validators>
<field name="birthDate">
<field-validator type="required">
<message>出生日期不能為空</message>
</field-validator>
</field>
</validators>
requiredstring 用法(含 trim)
<validators>
<field name="username">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>用戶名不能為空</message>
</field-validator>
</field>
</validators>
避坑指南
- 不要對 String 字段使用 required,因為空字符串
"" 不為 null,會通過校驗。
- requiredstring 僅能用於 String 類型,用於其他類型會報錯。
- 配合
trim="true" 自動去除首尾空白,防止用戶輸入空格繞過校驗。