1
私はそのような方法で検証したいというモデルの属性を持っています。それは配列でなければならず、3つの要素を持たなければならず、配列内のすべての要素も文字列でなければなりません。現在私は使用しています。配列のYii2バリデーションルール
['config', 'each', 'rule' => ['string']]
私はそのような方法で検証したいというモデルの属性を持っています。それは配列でなければならず、3つの要素を持たなければならず、配列内のすべての要素も文字列でなければなりません。現在私は使用しています。配列のYii2バリデーションルール
['config', 'each', 'rule' => ['string']]
たとえば、カスタムバリデーターを使用することができます。 :
続きを読むcreating validatorsを参照してください。
あなたは以下のようにcustom
validation
ルールを追加することができます。
public function rules()
{
return ['config','checkIsArray'];
}
public function checkIsArray($attribute, $params)
{
if (empty($this->config)) {
$this->addError('config', "config cannot be empty");
}
elseif (!is_array($this->config)) {
$this->addError('config', "config must be array.");
}
elseif (count($this->config)<3) {
$this->addError('config', "config must have 3 elements");
}
else{
foreach ($this->config as $value) {
if (!is_string($value)) {
$this->addError('config ', "config should have only string values.");
}
}
}
}