我有书桌和isbn字段。 当用户更新现有图书时,如果他更改了isbn代码并保存,则应将isbn检查为唯一,否则必须跳过唯一验证。
有独特的验证,但是检查甚至isbn在更新时都没有更改。
我有一个想法。将一个变量添加到Book模型以保持isbn的旧值。更新记录时,将比较旧值和新值。如果更改,将运行自定义验证。
这是最佳方式还是有更好的方法吗?
答案 0 :(得分:0)
它的工作方式如下,您正在设置:
['a1', 'unique']
并且由于您在表格中没有重复的值。
如果你想跳过你的isbn的验证检查[当用户更新时,我不知道为什么你会这样做?你想要两本相同的isbn书吗? ],用一些东西制作SCENARIO:
In update proecess if[book isbn is changed]
set scenario 1;
In update process if[book isbn isn`t changed]
set scenario 2;
in create process use deafult scenario