0
創建驗證器的最佳方法是檢查模型值是否唯一,但不返回false - 它只顯示消息「該值已存在」 (我仍然可以保存模型)?唯一驗證器 - 添加錯誤(警告)並返回true
創建驗證器的最佳方法是檢查模型值是否唯一,但不返回false - 它只顯示消息「該值已存在」 (我仍然可以保存模型)?唯一驗證器 - 添加錯誤(警告)並返回true
驗證器通常不返回布爾值,它們會爲給定的模型屬性添加錯誤。
其中一種方式(最少完成)將使用內置UniqueValidator並保存而不運行驗證。
首先撥打$model->validate()
填寫有錯誤的模型。
您可以使用$model->validate('fieldName')
僅驗證所需字段。
然後致電$model->save(false)
或$model->save('fieldName')
(僅限一個字段)。
這將防止在保存之前進行驗證,並且模型值將「按原樣」保存。
另一種方式只是保存一個屬性,而不會觸發事件等將使用updateAttributes
調用validate()
後:
$model->updateAttributes(['fieldName' => 'fieldValue']);