0
두 가지 콘텐츠 유형 "아이디어"와 "도전 과제"가 있습니다. 닫힌 도전에 대한 언급이있는 아이디어를 만들면 아이디어가 저축되지 않도록해야합니다. 규칙을 사용하여이 작업을 수행 할 수 있습니까?참조 된 노드가 닫힌 경우 새 노드를 만드는 것을 방지하려면 어떻게해야합니까?
두 가지 콘텐츠 유형 "아이디어"와 "도전 과제"가 있습니다. 닫힌 도전에 대한 언급이있는 아이디어를 만들면 아이디어가 저축되지 않도록해야합니다. 규칙을 사용하여이 작업을 수행 할 수 있습니까?참조 된 노드가 닫힌 경우 새 노드를 만드는 것을 방지하려면 어떻게해야합니까?
규칙을 사용하여 프로그래밍 할 수 있지만 프로그래밍 방식으로 처리 할 수 있습니다.
규칙에서 양식 오류를 삭제하는 것보다 조건을 설정 한 곳에서 '사전 저장'과 같은 규칙을 설정해야합니다.
프로그래밍 방식 : 유효성 검사를 수행하는 함수를 호출하는 폼 유효성 검사가 필요한 hook_form_alter()를 구현합니다.
https://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_form_alter/7
예
function YOURMODULE_form_alter (&$form, &$form_state, $form_id) {
if ($form_id == 'YOURCHALLANGENODETYPENAME_node_form') {
$form['#validate'][] = 'YOURMODULE_form_validate';
}
}
function YOURMODULE_form_validate ($form, &$form_state) {
// load your idea here st like:
$idea = entity_load_single('node', $form[YOURNODEREFERENCEID]);
if ($idea->status == 0) {
form_set_error ('YOURNODEREFERENCEFIELDNAME', t('ERROR_MESSAGE_TEXT'));
}
}