From e556b06add5080767e96cd6fa98e2c76f2b40678 Mon Sep 17 00:00:00 2001 From: Shiyang Date: Sun, 30 Aug 2015 22:55:28 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=94=99=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/guide-zh-CN/tutorial-console.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guide-zh-CN/tutorial-console.md b/docs/guide-zh-CN/tutorial-console.md index 3771d16..70e6336 100644 --- a/docs/guide-zh-CN/tutorial-console.md +++ b/docs/guide-zh-CN/tutorial-console.md @@ -12,7 +12,7 @@ 正如你在截图中看到,Yii 中已经定义了一组默认情况下可用的命令: -- [[yii\console\controllers\AssetController|AssetController]] - 允许合并和压缩你的 JavaScript 和 CSS 文件。你也可以在 [资源 - 使用 asset 命令](structure-assets.md#using-the-asset-command) 一节获取等多信息。 +- [[yii\console\controllers\AssetController|AssetController]] - 允许合并和压缩你的 JavaScript 和 CSS 文件。在 [资源 - 使用 asset 命令](structure-assets.md#using-the-asset-command) 一节可获取更多信息。 - [[yii\console\controllers\CacheController|CacheController]] - 清除应用程序缓存。 - [[yii\console\controllers\FixtureController|FixtureController]] - 管理用于单元测试 fixture 的加载和卸载。 这个命令的更多细节在 [Testing Section about Fixtures](test-fixtures.md#managing-fixtures). From c70f565dd5b237753cb63b8fca21e00d84e69fe7 Mon Sep 17 00:00:00 2001 From: Shiyang Date: Mon, 31 Aug 2015 00:07:18 +0800 Subject: [PATCH 2/3] Create input-forms.md --- docs/guide-zh-CN/input-forms.md | 140 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 docs/guide-zh-CN/input-forms.md diff --git a/docs/guide-zh-CN/input-forms.md b/docs/guide-zh-CN/input-forms.md new file mode 100644 index 0000000..64ce58b --- /dev/null +++ b/docs/guide-zh-CN/input-forms.md @@ -0,0 +1,140 @@ +创建表单 +======== + +在 Yii 中使用表单的主要方式是通过 [[yii\widgets\ActiveForm]]。如果是基于模型的表单应首选这种方式。此外,在 [[yii\helpers\Html]] +中也有一些实用的方法用于添加按钮和帮助文本。 + +在客户端上显示的表单,大多数情况下有一个相应的[模型](structure-models.md),用来验证其输入的服务器数据 +(可在 [输入验证](input-validation.md) 一节获取关于验证的细节)。 +当创建基于模型的表单时,第一步是定义模型本身。该模式可以是一个基于[活动记录](db-active-record.md)的类,表示数据库中的数据, +也可以是一个基于通用模型的类(继承自 [[yii\base\Model]] ),来获取任意的输入数据,如登录表单。 +在下面的例子中,我们展示了一个用来做登录表单的通用模型: + +```php + 'login-form', + 'options' => ['class' => 'form-horizontal'], +]) ?> + field($model, 'username') ?> + field($model, 'password')->passwordInput() ?> + +
+
+ 'btn btn-primary']) ?> +
+
+ +``` + +在上面的代码中,[[yii\widgets\ActiveForm::begin()|ActiveForm::begin()]] 不仅创建了一个表单实例,同时也标志着表单的开始。 +放在 [[yii\widgets\ActiveForm::begin()|ActiveForm::begin()]] 与 [[yii\widgets\ActiveForm::end()|ActiveForm::end()]] +之间的所有内容都被包裹在 HTML 的 `
` 标签中。 +与任何小部件一样,你可以指定一些选项,通过传递数组到 `begin` 方法中来配置该小部件。在这种情况下, +一个额外的 CSS 类和 ID 会在 `` 标签中使用。要查看所有可用的选项,请参阅 API 文档的 [[yii\widgets\ActiveForm]]。 + +为了在表单中创建表单元素与元素的标签,以及任何适用的 JavaScript 验证,[[yii\widgets\ActiveForm::field()|ActiveForm::field()]] +方法在调用时,会返回一个 [[yii\widgets\ActiveField]] 的实例。 +直接输出该方法时,结果是一个普通的(文本)输入。要自定义输出,可以附加上 [[yii\widgets\ActiveField|ActiveField]] 的其它方法来一起调用: + +```php +// 一个密码输入框 +field($model, 'password')->passwordInput() ?> +// 增加一个提示标签 +field($model, 'username')->textInput()->hint('Please enter your name')->label('Name') ?> +// 创建一个 HTML5 邮箱输入框 +field($model, 'email')->input('email') ?> +``` + +它会通过在 [[yii\widgets\ActiveField::$template|template]] 中定义的表单字段来创建 `