我在<form>
中有幾個字段... $fieldset
是字段名稱的數組,它將循環它們與isset()
檢查。用PHP輸入字段驗證
我想申請驗證(例如:所需的輸入,電子郵件)到幾個領域,如何應用這從我的代碼邏輯?
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 type='text' value=<?php echo $profile['first_name'] name='profile[FirstName]' ?>
<input type='text' value=<?php echo $profile['last_name'] name='profile[LastName]' ?>
編輯:當通過表單編輯記錄。如果有錯誤(驗證) - 我想將用戶輸入值重置爲<input>
的值,而不是來自數據庫的值。如何從我的代碼完成?
我不知道,爲什麼我得到一個反對票? – 2012-03-13 18:05:02