私は<form>
にいくつかのフィールドを持っています... $fieldset
は、フィールド名の配列です、それはisset()
チェックでループします。フォーム入力フィールドの妥当性検査
いくつかのフィールドにバリデーション(必須入力、電子メールなど)を適用したいのですが、これを自分のコードロジックから適用する方法はありますか?
<input type='text' value=<?php echo $profile['first_name'] name='profile[FirstName]' ?>
<input type='text' value=<?php echo $profile['last_name'] name='profile[LastName]' ?>
編集:ビューファイルで
public function actionProfile($id = null) {
$profileModel = new ProfileModel;
// <input> fields name
$fieldset['name'] = array('FirstName', 'LastName');
$fieldset['address'] = array('HouseNumber', 'StreetName', 'Town', 'Location');
$formError = array();
if (isset($_POST['profile'])) {
// Process input event
foreach ($fieldset as $legend => $fields) {
foreach ($fields as $field) {
if (!isset($_POST['profile'][$field])) {
$formError[$legend] = $field;
} else {
$form[$legend][$field] = $_POST['profile'][$field];
}
}
}
if (count($formError) == 0) {
if ($profileModel->saveAddress($form['address'])) {
//Saved to the database.
}
}
}
// Get data from the database
$data['profile'] = $profileModel->find($id);
$view = new View($this->layout, $data)->render();
}
、それは次のようになり、フォームを経由して、レコードを編集する場合は、エラー(バリデーション)があれば... - 私がしたいですユーザーの入力値をデータベースの値ではなく
<input>
の値に戻します。私のコードからどうすればいいですか?
変数ハンドラを使用私は不思議、なぜダウン票を得たのですか? –