function my_theme_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL){ //мне нужен опеделённый content_type поэтому $node->type == "content_my_type" // hook_nodeapi вызывается по любому поводу мне нужно только validate поэтому $op == "validate" if($node->type == "content_my_type"&&$op == "validate") { // поле может быть пустым поэтому * $regex_result = preg_match('/^([a-zA-Z0-9-]*)$/', $node->field_url_host[0][value], $matches); // просто чтобы было понятнее, можно в if сразу preg_match if($regex_result == 0){ form_set_error('field_url_host', t('You must provide the field_url_host.')); } }
Комментарии
раз ответа нет - пишу, что сделал за вчера.
воспользовался hook_nodeapi
//мне нужен опеделённый content_type поэтому $node->type == "content_my_type"
// hook_nodeapi вызывается по любому поводу мне нужно только validate поэтому $op == "validate"
if( $node->type == "content_my_type" && $op == "validate")
{
// поле может быть пустым поэтому *
$regex_result = preg_match('/^([a-zA-Z0-9-]*)$/', $node->field_url_host[0][value], $matches);
// просто чтобы было понятнее, можно в if сразу preg_match
if ($regex_result == 0) {
form_set_error('field_url_host', t('You must provide the field_url_host.'));
}
}
Вуа ля.
Допустимые значения поля алфа-нам и "-" .