2015-04-23 39 views

回答

1

驗證器通常不返回布爾值,它們會爲給定的模型屬性添加錯誤。

其中一種方式(最少完成)將使用內置UniqueValidator並保存而不運行驗證。

首先撥打$model->validate()填寫有錯誤的模型。

您可以使用$model->validate('fieldName')僅驗證所需字段。

然後致電$model->save(false)$model->save('fieldName')(僅限一個字段)。

這將防止在保存之前進行驗證,並且模型值將「按原樣」保存。

另一種方式只是保存一個屬性,而不會觸發事件等將使用updateAttributes調用validate()後:

$model->updateAttributes(['fieldName' => 'fieldValue']);