0
我試圖讓我自己的手機自定義回調函數,但是當我想把它叫做$this->form_validation->set_rules('phone', 'phone', 'required|callback_phone');
然後總是返回我'Unable to access an error message corresponding to your field name phone.(phone)'
我不知道爲什麼如果我有一切好,任何想法?什麼是我的代碼總是返回我nable訪問相應的錯誤消息時,我的代碼?
$this->form_validation->set_rules('first_name', 'first_name', 'trim|alpha|required');
$this->form_validation->set_rules('last_name', 'last_name', 'trim|alpha|required');
$this->form_validation->set_rules('email', 'email', 'trim|valid_email|required');
$this->form_validation->set_rules('phone', 'phone', 'required|callback_phone');
$this->form_validation->set_rules('address', 'address', 'trim|alpha_numeric_spaces|required');
if ($this->form_validation->run() == FALSE) {
$this->json($this->form_validation->error_array());
} else {
if (empty($data)) {
$this->json(array('msg' => 'vacio'));
} else {
if (!$this->providers->isExistsProvider($data)) {
$this->providers->addProvider($data);
$this->json(array('msg' => 'successfully added'));
} else {
$this->json(array('msg' => 'The email is used by another provider'));
}
}
}
CALLBACK_FUNCTION
public function phone($phone) {
if (preg_match('/^[+]?([\d]{0,3})?[\(\.\-\s]?([\d]{3})[\)\.\-\s]*([\d]{3})[\.\-\s]?([\d]{4})$/', $phone)) {
return TRUE;
} else {
return FALSE;
}
}
HTML表單
<form class="form-horizontal" id="provider">
<div class="form-group row">
<div class="col-md-6">
<label for="wprice" class="">First Name: </label>
<input type="text" name="first_name" id="first_name" class="form-control input-sm" placeholder="First Name" title="First Name" required>
</div>
<div class="col-md-6">
<label for="cost_price" class="">Last Name: </label>
<input type="text" name="last_name" id="last_name" class="form-control input-sm" placeholder="Last Name" title="Last Name" required>
</div>
</div>
<div class="form-group">
<label for="description" class="col-sm-2 control-label">Email: </label>
<div class="col-sm-10">
<input type="email" name="email" id="email" class="form-control input-sm" placeholder="Email" title="Invalid Email" required>
</div>
</div>
<div class="form-group row">
<div class="col-md-6">
<label for="wprice">Phone: </label>
<input type="text" name="phone" id="phone" class="form-control input-sm" placeholder="Phone" title="Phone" required>
</div>
<div class="col-md-6">
<label for="cost_price">Address: </label>
<input type="text" name="address" id="address" class="form-control input-sm" placeholder="Address" title="Address" required>
</div>
</div>
</form>
它沒有那樣工作。我不得不set_message字段,而不是callback_ –
我更新了我的答案。嘗試沒有**回調_ **:'$ this-> form_validation-> set_message('phone','電話號碼無效!');'@AronImperial –