Yii2: ¿cómo usar la función de validación personalizada para activeform?
En el modelo de mi formulario, tengo una función de validación personalizada para un campo definido de esta manera
class SignupForm extends Model
{
public function rules()
{
return [
['birth_date', 'checkDateFormat'],
// other rules
];
}
public function checkDateFormat($attribute, $params)
{
// no real check at the moment to be sure that the error is triggered
$this->addError($attribute, Yii::t('user', 'You entered an invalid date format.'));
}
}
El mensaje de error no aparece debajo del campo en la vista de formulario cuando presiono el botón Enviar, mientras que aparecen otras reglas como el correo electrónico y la contraseña requeridos.
Estoy trabajando en el formulario nativo de registro, así que para asegurarme de que no se trata de un problema archivado, he establecido la regla
['username', 'checkDateFormat']
y eliminó todas las demás reglas relacionadas con el campo de nombre de usuario, pero el mensaje tampoco aparece para él.
He intentado pasar nada como parámetros acheckDateFormat
, He tratado de pasar explícitamente el nombre del campo aaddError()
$this->addError('username', '....');
Pero nada aparece.
¿Cuál es la forma correcta de configurar una función de validación personalizada?