1
$app->post('/', function() use ($app) {
$email = new Input('email');
$email->getValidatorChain()
->addValidator(new Validator\EmailAddress());
$password = new Input('name');
$password->getValidatorChain()
->addValidator(new Validator\StringLength(1));
$inputFilter = new InputFilter();
$inputFilter->add($email)
->add($password)
->setData($_POST);
if ($inputFilter->isValid()) {
// do stuff
$app->redirect('/');
} else {
$field_errors = array();
foreach ($inputFilter->getInvalidInput() as $field => $error) {
foreach ($error->getMessages() as $message) {
$field_errors[] = str_replace('Value', ucfirst($field), $message);
}
}
$app->render('index.php', array('field_errors' => $field_errors));
}
});
我目前有上面的代碼使用Slim Framework和使用Zend InputFilter。但是,我想檢索錯誤消息。我不斷收到「價值......」所以我做了他們str_replace
得到Email is not a valid email
象下面這樣:檢索來自Zend的錯誤消息InputFilter
$field_errors = array();
foreach ($inputFilter->getInvalidInput() as $field => $error) {
foreach ($error->getMessages() as $message) {
$field_errors[] = str_replace('Value', ucfirst($field), $message);
}
}
這是從Zend的輸入過濾得到錯誤信息以正確的方式或者是有什麼事嗎?
是什麼問題? –
我只是在想如果有更好的方法,因爲這是我第一次使用這個組件。 –