【问题标题】:Phalcon optional fields in model validation模型验证中的 Phalcon 可选字段
【发布时间】:2016-03-06 02:01:38
【问题描述】:

我已经验证了 Phalcon 模型中的一些字段,如下所示

class Ads extends Phalcon\Mvc\Collection
{

    public function validation()
    {
        $this->validate(
            new InclusionIn(
                array(
                    "field"   => "type",
                    "message" => "Type must be: mechanical or virtual",
                    "domain"  => array("Mechanical", "Virtual")
                )
            )
        );

        $this->validate(
            new Numericality(
                array(
                    "field"   => "price",
                    "message" => "Price must be numeric"
                )
            )
        );

        return $this->validationHasFailed() != true;
    }

}

如何在验证中将一些字段定义为可选字段,将一些字段定义为必填字段?

可选字段:
例如当价格存在时,验证它,当不存在价格时,忽略它。

必填字段:
当价格不存在时,不要向数据库中插入数据并返回相关的错误信息。

【问题讨论】:

    标签: php phalcon


    【解决方案1】:

    使用allowEmpty作为

    $this->validate(
                new Numericality(
                    array(
                        "field"   => "price",
                        "message" => "Price must be numeric",
                        "allowEmpty" => true
                    )
                )
            );
    

    价格字段为空时,不生效。

    【讨论】:

    • 这有点误导,因为 allowEmpty 也适用于 0 作为值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 2014-06-20
    • 1970-01-01
    • 1970-01-01
    • 2015-01-20
    相关资源
    最近更新 更多