關於ThinkPHP5驗證器中唯一性驗證unique的問題


如果是在添加界面,驗證規則一般這樣

查詢sql是這樣的

因為定義了獨立的驗證類,所以按照手冊上的,如果想添加一些變量,得怎么做???(見識不足,沒有看到其他在獨立類中驗證引入外部其他變量的用法)

像這樣的規則,正常在編輯界面驗證的時候,提交自身的數據常常會提示重復,

之前一直沒有找到解決方案,網絡上也沒有找到合適的解決方案

 

今天發現,如果表單中把主鍵id也作為數據傳入到驗證器中(name要和主鍵同名)
加了這句

驗證規則沒有改動,在驗證的時候,驗證用的sql語句自動變化了

也就說明如果在驗證數據中傳入主鍵值,那么在驗證唯一性的時候,會排除傳入主鍵的id的數據。


手冊里里面倒沒說這種方式可以排除某主鍵。(不知道是不是手冊又更新了)試了幾個頁面的驗證都可以。
具體原因,以后有空得去看源碼了,暫時不深入研究。

如果有哪位高人願意點撥一下,願聞其詳哈哈


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM