2015-04-23 36 views

回答

1

验证器通常不返回布尔值,它们会为给定的模型属性添加错误。

其中一种方式(最少完成)将使用内置UniqueValidator并保存而不运行验证。

首先拨打$model->validate()填写有错误的模型。

您可以使用$model->validate('fieldName')仅验证所需字段。

然后致电$model->save(false)$model->save('fieldName')(仅限一个字段)。

这将防止在保存之前进行验证,并且模型值将“按原样”保存。

另一种方式只是保存一个属性,而不会触发事件等将使用updateAttributes调用validate()后:

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