Yii2: como usar a função de validação personalizada para o activeform?
No modelo do meu formulário, tenho uma função de validação personalizada para um campo definido dessa maneira
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.'));
}
}
A mensagem de erro não aparece sob o campo na exibição de formulário quando pressiono o botão enviar, enquanto outras regras, como o e-mail e a senha necessários, aparecem.
Estou trabalhando no formulário nativo de inscrição. Para garantir que não seja um problema registrado, defini a regra
['username', 'checkDateFormat']
e removeu todas as outras regras relacionadas ao campo de nome de usuário, mas a mensagem também não aparece.
Eu tentei passar nada como parâmetros paracheckDateFormat
, Tentei passar explicitamente o nome do campo paraaddError()
$this->addError('username', '....');
mas nada aparece.
Qual é a maneira correta de definir uma função de validação personalizada?