2012-04-21 90 views
0

如何爲模型字段定義單選按鈕。帶模型字段的ATK單選按鈕

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'字段只接受數字值。

回答

1

1#約單選按鈕

所以,如果你想有單選按鈕,這意味着要麼你有值的靜態列表或者您引用其他模式,從而做以下操作:

一個:$this->hasOne("Operador", "operador") ,因爲你有Model_Operador
b:$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(master分支在github上)

多個過濾器:http://php.net/manual/en/filter.filters.validate.php

+0

謝謝jancha,但是如何在模型中定義驗證器? '$這個 - >激活addField( '電子郵件') - >強制(TRUE) - > validateField( 'filter_var($這個 - > get()方法,FILTER_VALIDATE_INT)');' 不起作用 – 2012-04-23 11:26:25

+0

只是增加將validateField()放入需要驗證的字段的模型init塊中。 – jancha 2012-04-23 11:28:46

1
$this->addRadioAttribute("gender",array("male","female")); 

這裏:gender字段名malefemale是價值觀