我有一个带有 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/