Цел
Имам модел на Ardent, наречен User в Laravel.
Искам да имам персонализирано правило за валидиране, наречено confirm_if_dirty
.
Това ще се изпълнява само ако атрибутът User->password
е мръсен. Очаква се да има поле User->password_confirmation
.
По-долу е даден пример как може да изглежда това правило.
Validator::extend('confirm_dirty', function($attribute, $value, $parameters) use($model)
{
//If field is not dirty, no need to confirm.
if($model->isDirty("{$attribute}")){
//Confirmation field should be present.
if(!$model->__isset($attribute."_confirmation")){
return false;
}
//Values should match.
$confirmedAttribute = $model->getAttribute($attribute."_confirmation");
if( $confirmedAttribute !== $value){
return false;
}
//Check to see if _confirmation field matches dirty field.
}
return true;
});
Въпрос
Как мога да направя така, че $model в моя случай да се предава или е въпросният екземпляр на модела?