我有一个带有 URL 字段的表单。此字段的默认值为:http://。但该字段不是必需的。用户可以跳过它并提交表单。它不应该返回错误,因为它不是必需的并且因为他们没有输入 URL。但现在确实如此,因为 http://。

我听说我可以使用 beforeValidate() 来检查它是否是 http://,然后清除 URL 字段,允许我跳过错误消息。

但我不知道如何使用 beforeValidate()。我搜索了谷歌,但我没有找到任何有效的例子。我在哪里放置 beforeValidate() 的代码?是函数吗?如何从那里访问提交的表单数据?

谢谢。

最佳答案

是的,beforeValidate() 是模型的函数。所以每个型号都有。你应该如何使用它:

class YourModel extends AppModel {
   function beforeValidate(){
      if($this->data['YourModel']['url_field'] == 'http://'){
         unset($this->data['YourModel']['url_field']);
      }
      return true; //this is required, otherwise validation will always fail
   }
}

关于php - 我如何在 CakePHP 中使用 beforeValidate()?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4785646/

10-09 07:36