我正在尝试以编程方式从某些节点/ * / edit字段中删除所需的状态。默认情况下会设置所需状态,并且只应根据分类字段中的选定值删除该状态:
使用以下代码:
function mymodule_form_node_form_alter(&$form, &$form_state, $form_id) {
if( $form_id == 'job_node_form' ){
$form['#after_build'] = array('test');
}
}
function test(&$form, &$form_state) {
$form['title']['#required'] = FALSE; // works
$form['jobs_schools_data']['field_job_type']['#required'] = FALSE; // does NOT work
return $form;
}
我发现我可以从标题字段中成功删除所需的状态,但对于我在上面的代码示例中添加的字段(例如 field_job_type ),这同样不起作用。
为什么这不起作用,以及我如何纠正它?
答案 0 :(得分:0)
我有类似的东西,在实际的形式中我没有在两个字段上设置所需的状态,只有一个应该显示是否满足某些标准。然后,我创建了一个自定义函数来检查是否填充了一个字段,然后根据该字段设置错误消息。
function events_registration_form_validate($form, &$form_state){
$selected_time = $form_state['values']['time_selected'];
if ($form_state['values']['time_selected'] == '') {
form_set_error('time_selected', t('Please choose an event time.'));