$subrequest = new DerivativeRequest( $request, $data, $request->wasPosted() );
$row = [];
foreach ( $fields as $fieldname => $field ) {
- if ( !empty( $field->mParams['nodata'] ) ) {
+ if ( $field->skipLoadData( $subrequest ) ) {
continue;
} elseif ( !empty( $field->mParams['disabled'] ) ) {
$row[$fieldname] = $field->getDefault();
foreach ( $values as $key => $value ) {
$fields = $this->createFieldsForKey( $key );
foreach ( $fields as $fieldname => $field ) {
- if ( !empty( $field->mParams['nodata'] ) ) {
+ if ( !array_key_exists( $fieldname, $value ) ) {
continue;
}
if ( $field->cancelSubmit( $value[$fieldname], $alldata ) ) {
foreach ( $values as $key => $value ) {
$fields = $this->createFieldsForKey( $key );
foreach ( $fields as $fieldname => $field ) {
- if ( !empty( $field->mParams['nodata'] ) ) {
+ if ( !array_key_exists( $fieldname, $value ) ) {
continue;
}
$ok = $field->validate( $value[$fieldname], $alldata );
$fields = $this->createFieldsForKey( $key );
foreach ( $fields as $fieldname => $field ) {
- $v = ( empty( $field->mParams['nodata'] ) && $values !== null )
+ $v = array_key_exists( $fieldname, $values )
? $values[$fieldname]
: $field->getDefault();