yiiapi/docs/guide/sv/form.builder.txt
(开头部分) 17KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
Använda Form Builder
====================
När vi skapar HTML-formulär, finner vi ofta att vi skriver mängder av repetitiv vykod
som är svår att återanvända i ett annat projekt. Till exempel, för varje inmatningsfält
behöver vi associera fältet med dess textetikett samt presentera eventuella valideringsfel.
För att göra sådan kod mer återanvändningsbar, kan vi använda formulärbyggaren.
Grundkoncept
------------
Yii:s formulärbyggare använder ett [CForm]-objekt till att representera de specifikationer som
behövs för att beskriva ett HTML-formulär, inklusive de datamodeller som är associerade med formuläret,
vilka slags inmatningsfält formuläret består av, samt hur hela formuläret skall renderas. Det utvecklare
huvudsakligen behöver göra är att skapa och konfigurera detta [CForm]-objekt, därefter anropa dess
renderingsmetod för att presentera formuläret.
Specifikationer för formulärinmatning organiseras som en hierarki av formulärelement.
Hierarkins rot härbärgerar [CForm]-objektet. Rotformuläret upprätthåller sina
underordnade objekt i två samlingsobjekt (collection): [CForm::buttons] och [CForm::elements].
Den förra innehåller knappelement (så som submit, reset), medan den senare innehåller
inmatningselement, textsträngar och underformulär. Ett underformulär är ett [CForm]-objekt som
ingår i [CForm::elements]-samlingen i ett annat formulär. Det kan ha en egen datamodell samt
[CForm::buttons]- och [CForm::elements]-samlingar.
När användare skickar ett formulär, medför detta att all data skickas som matats in i inmatningsfält i
hela formulärhierarkin, inklusive de inmatningsfält som hör till underformulären. [CForm] erbjuder
ändamålsenliga metoder som automatiskt kan tilldela inmatat data till motsvarande modellattribut samt
genomföra datavalidering.
Skapa ett enkelt formulär
-------------------------
I det följande visas hur formulärbyggaren kan användas till att skapa ett
inloggningsformulär.
Först skriver vi kod för login-åtgärden:
~~~
[php]
public function actionLogin()
{
$model = new LoginForm;
$form = new CForm('application.views.site.loginForm', $model);
if($form->submitted('login') && $form->validate())
$this->redirect(array('site/index'));
else
$this->render('login', array('form'=>$form));
}
~~~
I ovanstående kod skapas ett [CForm]-objekt som använder specifikationerna adresserade
av sökvägsalias `application.views.site.loginForm` (förklaras nedan). [CForm]-objektet
är associerat till `LoginForm`-modellen så som beskrivs i [Skapa Model](/doc/guide/form.model).
Som koden är utformad kommer webbläsaren, efter att formuläret skickats och all inmatning
validerats utan fel, att styras om till sidan `site/index`. I övriga fall renderas
`login`-vyn med formulärets innehåll.
后面还有 440 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
