Heim > Backend-Entwicklung > PHP-Tutorial > YII2如何验证app客户端提交过来的表单数据

YII2如何验证app客户端提交过来的表单数据

WBOY
Freigeben: 2016-06-06 20:16:34
Original
1258 Leute haben es durchsucht

如题....因为刚开始学习YII2框架,知道model里面的rules方法可以填写验证规则,但是他好像只验证pc端页面用activeForm生成的表单数据,那么手机客户端提交过来的表单数据怎样也能用上rules方法的验证规则呢?

回复内容:

如题....因为刚开始学习YII2框架,知道model里面的rules方法可以填写验证规则,但是他好像只验证pc端页面用activeForm生成的表单数据,那么手机客户端提交过来的表单数据怎样也能用上rules方法的验证规则呢?

他好像只验证pc端页面用activeForm生成的表单数据

这句定论就是错误的。

我的猜测你可能遇到问题了,问题的关键是在块赋值?

在Yii2的ActiveForm 中会默认给当前生成form定义个一个名称,对,就像你看到的:

<code><input name="LoginForm[username]"></code>
Nach dem Login kopieren

那么在LoginForm接收数据的时候可以这样:

<code>$form = new LoginForm;

$form->load(Yii::$app->requeset->post());</code>
Nach dem Login kopieren

而在手机端传到服务器端的数据是长这样的?

<code>[
    'username' => 'beep',
    ...
]</code>
Nach dem Login kopieren

所以我们在用form接收的时候可以这样:

<code>$form->load(Yii::$app->request->post(), '');
//亦或
$form->setAttributes(Yii::$app->request->post());</code>
Nach dem Login kopieren

那么,验证:

<code>$form->validate();

var_dump($form->errors);</code>
Nach dem Login kopieren

去熟悉下文档?

  • https://github.com/yiisoft/yii2/blob/master/docs%2Fguide%2Fstructure-models.md#validation-rules-

  • https://github.com/yiisoft/yii2/blob/master/docs%2Fguide%2Fstructure-models.md#massive-assignment-

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage