【问题标题】:ATK Radio Buttons with a model field带有模型字段的 ATK 单选按钮
【发布时间】:2012-04-21 13:57:33
【问题描述】:

如何为模型字段定义单选按钮。

class Model_Campaign extends Model_Table {
  public $entity_code = 'campaign';
  function init() {
    parent::init();

    $this->addField('nombres')->mandatory(TRUE);
    $this->addField('email')->mandatory(TRUE);
    $this->addField('celular')->mandatory(TRUE);
    $this->addField('ciudad');
    $this->addField('operador')->mandatory(TRUE);
  }
}

我想'operador' 字段显示像单选按钮,我想'celular' 字段只接受数值。

【问题讨论】:

    标签: php frameworks atk4


    【解决方案1】:

    1# 关于单选按钮

    因此,如果您想要单选按钮,这意味着您有静态值列表或您正在引用其他模型,因此请执行以下操作:

    a:$this->hasOne("Operador", "operador"),假设你有 Model_Operador
    乙:$this->addField("operador")->datatype("list")->listData(array());

    这将使下拉菜单出现。如果你想有单选按钮: 添加->display("radio");

    2# 验证 - 阅读文档:http://agiletoolkit.org/doc/form/validation

    ->validateField('filter_var($this->get(), FILTER_VALIDATE_INT)');
    

    例如

    $this->addField("fieldx")->validateField('filter_var($this->get(), FILTER_VALIDATE_INT)');
    

    n.b.确保你使用 atk4.2(github 中的 master 分支)

    更多过滤器:http://php.net/manual/en/filter.filters.validate.php

    【讨论】:

    • 谢谢 jancha,但是如何在模型中定义验证器? $this->addField('email')->mandatory(TRUE) ->validateField('filter_var($this->get(), FILTER_VALIDATE_INT)'); 不起作用
    • 只需将该 validateField() 添加到需要验证的字段的模型初始化块中。
    【解决方案2】:
    $this->addRadioAttribute("gender",array("male","female"));
    

    这里:gender字段名称malefemale 是值

    【讨论】:

      猜你喜欢
      • 2017-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-15
      • 1970-01-01
      相关资源
      最近更新 更多