$node = node_load(320);
$node_wrapper = entity_metadata_wrapper('node', $node);
$temp = $node_wrapper->field_score_judge8->set('ffffff');
$temp = $node_wrapper->save();
请问下,如果字段类型是整数,但是我传入的是一个字符串,在上面代码中的set的步骤就会出错了,而不是返回FALSE,那么我是不是在set前,必须要先判断这个字符串是否符合这个字段的验证规则呢?
如果是这样,那么有没有一个可以验证某个值是否符合一个字段的验证规则的API呢?比如我传入字段名和一个值,它能判断这个值是否符合这个字段的验证规则。 ($field_name, $value)
PHP是弱类型的语言,我们已经习惯了,类型的自动转换。 e
PHP是弱类型的语言,我们已经习惯了,类型的自动转换。
entity_metadata_wrapper,里面,是强类型的。需要自己去转这个。
这个应该有现成的,比如is_integer(具体需要查API了)之类,PHP语言本身就有这样的API函数,判断是不是字符串,是不是整数。如果没有的话,可以使用正则表达式进行判断。
多谢老葛,我其实是想问下drupal里的字段验证,有没有一
多谢老葛,我其实是想问下drupal里的字段验证,有没有一个统一的API什么的去验证。就像我说的,传入字段名和要提交的值,函数就会判断这个值符不符合这个字段的验证规则。
($field_name, $value);
这个函数会根据字段名去找到这个字段的类型,是否必填等相关设置,然后会对value做验证。
另外我还用了您写的的field validation模块添加了进一步的规则,比如位数验证,如果能一起支持就更好了...
Drupal8里面有一个验证API,基于实体和数据类型的。
Drupal8里面有一个验证API,基于实体和数据类型的。是对你这里所说问题的一个改进。