ฉันต้องการเพิ่มการตรวจสอบความถูกต้องที่กำหนดเองให้กับฟอร์มช่วยบอกว่าเพิ่มแบบฟอร์มบทความ
ฉันคาดหวังว่าhook_FORM_ID_validate()
จะจัดการกับสิ่งนี้ แต่ไม่พบสิ่งใดที่เกี่ยวข้องในเอกสาร API
วิธีเพิ่มการตรวจสอบความถูกต้องที่กำหนดเองในแบบฟอร์มคืออะไร
ฉันต้องการเพิ่มการตรวจสอบความถูกต้องที่กำหนดเองให้กับฟอร์มช่วยบอกว่าเพิ่มแบบฟอร์มบทความ
ฉันคาดหวังว่าhook_FORM_ID_validate()
จะจัดการกับสิ่งนี้ แต่ไม่พบสิ่งใดที่เกี่ยวข้องในเอกสาร API
วิธีเพิ่มการตรวจสอบความถูกต้องที่กำหนดเองในแบบฟอร์มคืออะไร
คำตอบ:
คุณสามารถเพิ่มฟังก์ชั่นการตรวจสอบความถูกต้องจำนวนเท่าใดก็ได้ในรูปแบบใด ๆhook_form_FORM_ID_alter()
ดังนี้:
function mymodule_form_article_node_form_alter(&$form, &$form_state, $form_id) {
// There will already be some validate handlers added so you need to add to the
// array rather than overwrite it.
$form['#validate'][] = 'mymodule_article_form_validate';
// As mentioned above you can add as many as you want
$form['#validate'][] = 'mymodule_article_form_validate_2';
}
function mymodule_article_form_validate($form, &$form_state) {
// Random example, if the title is 'test' throw an error
if ($form_state['values']['title'] == 'test') {
form_set_error('title', 'Title cannot be "test"');
}
}
if ($form_state['values']['field_custom']['und'][0]['value'] == 'Error') { //throw error }
คุณควรใช้hook_form_alter
และเพิ่มฟังก์ชันของคุณใน#validate
คุณสมบัติ