2017-02-19 8 views
2

Мне нужна помощь с обязательным атрибутом в PHP-версии. Обязательное поле работает нормально, но проблема с oninvalidэлемент, чтобы показать пользовательский текст, как в HTML-форме.Специальная проверка HTML5-событий для требуемого преобразования PHP

Это HTML версия:

<select required="" oninvalid="this.setCustomValidity('Custom TXT!')"> 

Это мой PHP версия выбора выпадающего списка:

$options    = $args['options']; 
    $product    = $args['product']; 
    $attribute    = $args['attribute']; 
    $name     = $args['name'] ? $args['name'] : 'attribute_' . sanitize_title($attribute); 
    $id     = $args['id'] ? $args['id'] : sanitize_title($attribute); 
    $class     = $args['class']; 
    $show_option_none  = $args['show_option_none'] ? true : false; 
    $show_option_none_text = $args['show_option_none'] ? $args['show_option_none'] : __('Choose an option', 'woocommerce'); // We'll do our best to hide the placeholder, but we'll need to show something when resetting options. 

    if (empty($options) && ! empty($product) && ! empty($attribute)) { 
     $attributes = $product->get_variation_attributes(); 
     $options = $attributes[ $attribute ]; 
    } 

    $html = '<select required="" oninvalid="this.setCustomValidity('Custom TXT!')" id="' . esc_attr($id) . '" class="' . esc_attr($class) . '" name="' . esc_attr($name) . '" data-attribute_name="attribute_' . esc_attr(sanitize_title($attribute)) . '"' . '" data-show_option_none="' . ($show_option_none ? 'yes' : 'no') . '">'; 
    $html .= '<option value="">' . esc_html($show_option_none_text) . '</option>'; 

Может кто-то помочь мне с этой линией, чтобы сделать пользовательский текст show, теперь он дает только ошибку. Спасибо!

$html = '<select required="" oninvalid="this.setCustomValidity('Custom TXT!')" 

http://prntscr.com/earmll

+0

Возможный дубликат [HTML5: Почему мой атрибут oninvalid позволяет шаблону выйти из строя?] (Http://stackoverflow.com/questions/16867407/html5-why-does-my-oninvalid-attribute-let-the -pattern-fail) – LGSon

+0

nope ... Мне нужно в PHP-код этот элемент ... – zte813

+0

Ну, вам нужно преобразовать его в строку PHP – LGSon

ответ

0

Ну ... Это урок для меня, чтобы использовать обычный IDE не нп ++ ...

oninvalid="this.setCustomValidity(\'Custom TXT!\')" 

Закрыто.

+0

Ха-ха! Я был уверен, что им нужно было сбежать. Рад, что ты наконец понял это. :) – Firearrow5235