عمر سالم2 نشر 14 مارس 2021 أرسل تقرير نشر 14 مارس 2021 لقد قمت بعمل Hook اسمها useForm بالشكل التالي: function useForm() { const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const values = { email, password }; const check = () => {}; return { values, check, setEmail, setPassword }; } اريد ان اقوم بكتابة الدالة check لتقوم من التحقق من النموذج، ومعرفة هل هو صالح للـ submit ام لا. كيف اقوم بكتابة تلك الدالة؟ 1 اقتباس
0 Mohammed Saber6 نشر 14 مارس 2021 أرسل تقرير نشر 14 مارس 2021 مرحباً عمر: لتقوم بمعرفة هل ال form صالحة أم لا يمكنك عمل الآتي: في البداية تقوم بعمل لووب للتأكد من أن العناصر تحتوي علي قيم فإذا كانت تحتوي عليها فهي سليمة function useForm() { const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const values = { email, password }; const isValidForm = () => { let isValid = true; Object.keys(values).forEach(field => { if(!values[field]) { isValid = false; } }); return isValid; }; return { values, isValidForm, setEmail, setPassword }; } اقتباس
0 Salah Eddin Beriani2 نشر 15 مارس 2021 أرسل تقرير نشر 15 مارس 2021 التحقق من النموذج يعتمد كليا عليك فمثلا في حالتك يمكنك اجراء تحقق من أن الايميل المدخل هيكلته حقا هيكلة ايميل و يمكنك التحقق من أن كلمة السر ليست فارغة بهذه الطريقة function useForm() { const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const values = { email, password }; const reg = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/; const check = () => { let isValid = false; if (reg.test(email) && !!password) { isValid = true; } return isValid; }; return { values, check, setEmail, setPassword, }; } أو يمكنك التحقق أيضا أن كلمة السر المدخلة لديها طول معين const check = () => { let isValid = false; if (reg.test(email) && password.length > 5) { isValid = true; } return isValid; }; ويمكنك تعديل الدالة لارجاع رسائل لاخبار المستخدم مالذي ينبغي تغييره أو ما الخطب بمعلوماته اقتباس
السؤال
عمر سالم2
لقد قمت بعمل Hook اسمها useForm بالشكل التالي:
اريد ان اقوم بكتابة الدالة check لتقوم من التحقق من النموذج، ومعرفة هل هو صالح للـ submit ام لا. كيف اقوم بكتابة تلك الدالة؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.