Validation Phalcon框架:Can';t在数据库中保存不需要的字符串
我正在使用Phalcon PHP框架,我想将我的表单保存到数据库中,一切都正常,但我无法在某些(非必需)字段中保存空字符串 如何保存非必填字段?每次在没有输入的情况下保存非必填字段时,都会出现类似“lastname字段是必填的”这样的错误 有人吗 对不起,我的英语不好,我正在学习Validation Phalcon框架:Can';t在数据库中保存不需要的字符串,validation,save,required,string,phalcon,Validation,Save,Required,String,Phalcon,我正在使用Phalcon PHP框架,我想将我的表单保存到数据库中,一切都正常,但我无法在某些(非必需)字段中保存空字符串 如何保存非必填字段?每次在没有输入的情况下保存非必填字段时,都会出现类似“lastname字段是必填的”这样的错误 有人吗 对不起,我的英语不好,我正在学习 我的控制器代码是: $this->view->disable(); $usuario = new Usuarios(); $usuario->usuario = $this->req
我的控制器代码是:
$this->view->disable();
$usuario = new Usuarios();
$usuario->usuario = $this->request->getPost("usuario");
$usuario->email = $this->request->getPost("email");
$usuario->senha = $this->request->getPost("senha");
$usuario->nome = $this->request->getPost("nome");
$usuario->sobrenome = $this->request->getPost("sobrenome");
$usuario->icone = $this->request->getPost("icone");
$usuario->fixo = $this->request->getPost("fixo");
$usuario->celular = $this->request->getPost("celular");
$usuario->tipo = $this->request->getPost("tipo");
$usuario->save();
我的模型中有基本的验证…它可能会失败,因为您试图保存NULL而不是空字符串。很遗憾,由于声誉的要求,我无法回复评论,但是你能发布你的Usuarios模型的内容吗?我需要看看你们的验证是什么样子的。你们可以从上面建议的解决方案中选择一个 最后一个简单的解决方案:
$usuario->usuario = $this->request->getPost("usuario") || "";
迟来的回答,但可能对某人有用。如果希望phalcon忽略特定字段,则需要使用
skipAttributes()
:
示例:
class Usuarios extends \Phalcon\Mvc\Model
{
public function initialize()
{
$this->skipAttributes(array('field1', 'field2'));
}
}
以下是文档链接:如果您想为某些字段保存空字符串(此类错误的原因之一,如“lastname字段是必需的”),可以使用Phalcon Model allowEmptyStringValues方法:
class Robots extends Model
{
public function initialize()
{
$this->allowEmptyStringValues(['usuario', 'someelse', 'someother']);
}
}
用于允许为手动列出的字段保存空字符串
还要检查您的Usarios模型(它有一个名为“lastname”的字段)和您的数据库结构空/非空字段属性。我找到了一个解决方案,禁用了Phalcon默认空字段验证,并将所有必需字段直接插入模型验证功能中。我没有测试您的解决方案,但这很好,我会记住使用| |“”;下一次!谢谢谢谢你的贡献!我已经解决了这个问题,但它可能会帮助其他人解决这个问题。