समस्या 1पहुँच त्रुटियों रूप
मैं ajax प्रस्तुत करने के माध्यम से एक पंजीकरण फार्म का निर्माण करना चाहते हैं प्रस्तुत की। पंजीकरण कार्य $form->isValid()
है। हालांकि, अगर फॉर्म पंजीकरण विफल रहता है तो मुझे AJAX के माध्यम से इन त्रुटियों को वापस करने की आवश्यकता है।
if ($form->isValid()) {
}else{
$errors = $form->getErrors();
// return some json encoded errors here
}
$form->getErrors()
एक खाली सरणी भले ही प्रपत्र को मान्य नहीं किया था (इस मामले में मैं एक उपयोगकर्ता नाम है कि बहुत छोटा है के साथ परीक्षण कर रहा हूँ) देता है।
समस्या 2
दूसरी समस्या मैं अगर प्रपत्र मान्य करता है, लेकिन अभी भी एक त्रुटि है। उदाहरण के लिए एक अनूठा क्षेत्र जिसके लिए कोई भी वही मान जमा करने का प्रयास करता है।
if ($form->isValid()) {
$em = $this->getDoctrine()->getEntityManager();
$em->persist($form->getData());
$em->flush();
// error could be a username submitted more than once, username is unique field
}else{
// ...
}
मुझे लगता है कि त्रुटि को कैसे पकड़ने और json के माध्यम से इसे वापस कर सकते हैं?
सत्यापनकर्ता कैसे पता होगा कि किसी को पहले से ही है कि तालिका में उपयोगकर्ता नाम का इस्तेमाल किया है? मैंने सोचा कि वैधकर्ता चेक किया गया है कि वह डेटा सही है, न कि वह डेटा पहले से मौजूद है या नहीं, या यह दोनों करता है? – ed209
एक वैधकर्ता किसी भी प्रकार का सत्यापन कर सकता है जिसे आप कोड करते हैं।बेशक, जैसा कि उल्लेख किया गया है, विशिष्टता, अद्वितीय अनंतता के लिए पहले से ही एक वैधकर्ता है। –