แก้ไข : มีคนชี้แจงว่าคุณกำลังมองหาแอตทริบิวต์ "ที่ถูกต้อง" "ไม่ถูกต้อง" สำหรับ DOM
dom_object.setAttribute("isvalid", "true")
ฉันจะเพิ่มคุณลักษณะที่จะใช้แต่ละแท็ก คุณยังมีฟังก์ชันการตรวจสอบความถูกต้องส่วนกลางซึ่งจะอัปเดตแอตทริบิวต์เหล่านี้ทุกครั้ง (และใช้dom_object.getAttribute("isvalid")
ทุกครั้ง)
คุณสามารถเรียกใช้ฟังก์ชันนี้ทุกครั้งที่องค์ประกอบสูญเสียโฟกัสหรือเมื่อใดก็ตามที่คุณต้องการ
ไม่สวยหรู แต่น่าเสียดายที่ตอนนี้ยังไม่มีการรองรับ "หลอก" กับจาวาสคริปต์และ HTML5
หากฉันเข้าใจคำถามของคุณคุณสามารถตรวจสอบความถูกต้องด้วย Javascript แต่จะเตือนว่ามันเป็นเรื่องง่ายมากที่จะตรวจสอบด้านลูกค้าหลีกเลี่ยงโดยเฉพาะอย่างยิ่งการตรวจสอบจาวาสคริปต์ คุณไม่ควรเชื่อถือข้อมูลไคลเอนต์และตรวจสอบทางฝั่งเซิร์ฟเวอร์เสมอ
ตัวอย่างเช่นฉันสามารถค้นหารหัสองค์ประกอบได้อย่างง่ายดายโดยการตรวจสอบซอร์สโค้ดจากนั้นทำการdocument.getElementById('some_id').setAttribute('max', new_number)
เปลี่ยนค่าสูงสุด (นี่คือหนึ่งในรายการจากลิงก์ของคุณ)
มีหลายวิธีในการทำดังนั้นฉันจะพยายามให้สำนวนทั่วไปแก่คุณ
คุณสามารถรับค่าได้โดยการทำdocument.getElementById('form_element_id').value
(ตรวจสอบให้แน่ใจว่าคุณให้แบบฟอร์มname
ที่ถูกส่งไปยังเซิร์ฟเวอร์และid
ที่จาวาสคริปต์ใช้) สำหรับ textareas .innerHTML
คุณสามารถใช้
จากนั้นคุณมีค่าในตัวแปรมีหลายวิธีในการตรวจสอบ
if (parseInt(my_value) < 0) //error
ตัวอย่างเช่นคุณสามารถทำ นอกจากนี้คุณยังสามารถใช้การแสดงออกปกติผมจะไม่อธิบายมันทั้งหมด แต่คุณสามารถเริ่มต้นที่นี่http://www.w3schools.com/jsref/jsref_obj_regexp.asp ฉันรู้ว่า w3schools ไม่ใช่แหล่งที่ดีที่สุด แต่ฉันคิดว่ามันเป็นจุดเริ่มต้นที่โอเค
ตอนนี้สำหรับส่วนการตรวจสอบความถูกต้อง: เพิ่มonsubmit="return validateForm()
แท็กฟอร์มของคุณโดยที่ validateForm () เป็นฟังก์ชันที่ตรวจสอบทั้งหมด และฟังก์ชันจะส่งคืนtrue
หากถูกต้องหรือเป็นfalse
อย่างอื่น สิ่งนี้จะแทนที่ฟังก์ชันการตรวจสอบความถูกต้องเริ่มต้น (ซึ่งโดยค่าเริ่มต้นจะไม่ทำอะไรเลย)
ดังนั้นในตัวอย่างข้างต้นจะถูกแทนที่ด้วย//error
return false
คุณสามารถทำอย่างอื่นได้เช่นกัน เช่นแจ้งเตือนข้อผิดพลาดแล้วส่งคืนเท็จ คุณยังสามารถใช้จาวาสคริปต์เพื่อเน้นฟิลด์ที่ไม่ถูกต้อง (ไม่แน่ใจว่านี่คือสิ่งที่คุณหมายถึงหรือไม่โดย " ทำเครื่องหมายช่องป้อนข้อมูลว่าไม่ถูกต้อง / ถูกต้องจากจาวาสคริปต์ ")
แน่นอนว่าหากคุณไม่ต้องการตรวจสอบฟิลด์ทั้งหมดคุณจะต้องส่งคืนจริงหากฟิลด์ใดฟิลด์หนึ่งผ่านเท่านั้น อีกครั้งคุณไม่ควรพึ่งพาสิ่งนี้ แต่ถ้าคุณเป็นเพียงการขัดขวางคนทั่วไปก็เป็นทางออกที่ง่าย