Tôi đang xây dựng một ứng dụng ZendFramework như một mẫu đăng nhập yêu cầu địa chỉ email và mật khẩu - có vẻ hợp lý để xác thực địa chỉ email trước khi nhấn vào cơ sở dữ liệu với nỗ lực đăng nhập, vì một email không hợp lệ sẽ không bao giờ dẫn đến hợp lệ đánh. Zend_Validate_EmailAddress có vẻ như là một cách đi đúng, nhưng tôi đang gặp vấn đề với nó tạo ra nhiều lỗi (câu hỏi ở phía dưới, sau mã).Trong Zend_Form, cách tránh Zend_Validate_Email tạo nhiều lỗi?
hình thức của tôi hiện có sau
//WPMail_Form_Login::init()
$email = $this->addElement('text', 'email', array(
'label'=>'Email',
'required'=>true,
'filters'=>array('stringtrim'),
'validators'=>array(array('emailaddress', true, array(
'messages'=>array(
'emailAddressInvalidHostname'=>'Your email address is invalid',
'emailAddressInvalidFormat'=>'Your email address is invalid',
'...'=>'(repeat for all message templates)'
)
))),
));
Trong bộ điều khiển tôi trực tiếp thông qua các hình thức vào xem:
// WPMail_AuthController::loginAction()
$this->view->form = $form;
Và trong giao diện, nó trực tiếp echo'd:
// views/scripts/auth/login.phtml
<?php echo $this->form ?>
Kết quả hiện tại giống như sau:
- Your email address is invalid
- 'asda!!!' does not match the expected structure for a DNS hostname
- 'asda!!!' does not appear to be a valid local network name
Điều tôi muốn biết là: Có thể định cấu hình Zend _
Xác thực _
EmailAddress theo cách sao cho chỉ tạo ra một lỗi không hợp lệ với email không? Bởi 'cấu hình' tôi có nghĩa là, mà không mở rộng lớp và ghi đè các logic với của riêng tôi.
TIA.
Tuyệt vời, cảm ơn! Tôi thực sự đi qua đó, nhưng bằng cách nào đó giả định rằng việc thêm một thông báo lỗi sẽ làm mất hiệu lực hình thức (như trong đó nó là một phần của khi bạn làm xác nhận của riêng bạn) .. vui mừng khi thấy nó đơn giản này! – kander
Nó có thể gây nhầm lẫn .. $ email-> addError ($ message) sẽ đặt lỗi và đánh dấu là không hợp lệ, nhưng $ email-> addErrorMessage ($ message) vừa xuất hiện để đặt thư, ghi đè thư mặc định và không không đặt lỗi! – simonrjones
+1, nhờ mẹo kiến thức – Ish