2013-08-02 2 views
2

, если у меня есть этот короткий код, как добавить требуется HTML5 в dxTextBoxкак добавить проверку в dxTextBox

<div class="dx-field"> 
     <div class="dx-field-label">Name</div> 
     <div class="dx-field-value"> 
      <div data-bind="dxTextBox:{ value: dSource.name, valueUpdateEvent: 'keyup'}"></div> 
     </div> 
</div> 
+0

Не могли бы вы пояснить, что вы подразумеваете под «требованием html5 в dxTextBox»? –

+0

@AlexSkorkin Я думаю, что речь идет о атрибуте 'required' элементов' input': http://www.w3schools.com/tags/att_input_required.asp – amartynov

ответ

0

HTML5 required атрибут будет не очень помогает в PhoneJS одиночные приложения страницы, потому что его цель состоит в том, чтобы проверить равнину HTML-формы перед провалом.

Вместо этого вы можете реализовать любую логику проверки на уровне модели. Например:

Вид модели:

var myText = ko.observable(""); 

var isTextBoxValid = ko.computed(function() { 
    return !/^\s*$/.test(myText()); 
}); 

function processData() { 
    if(!isTextBoxValid()) 
     alert("Validation failed"); 

    // ... 
} 

return { 
    myText: myText, 
    isTextBoxValid: isTextBoxValid, 
    processData: processData 
} 

Markup:

<style scoped> 
    .invalid { 
     color: red !important; 
    }  
</style> 

<div class="dx-fieldset"> 
    <div class="dx-field"> 
      <div class="dx-field-label" data-bind="css: { invalid: !isTextBoxValid() }">Name</div> 
      <div class="dx-field-value"> 
       <div data-bind="dxTextBox: { value: myText, placeholder: '(required)', valueUpdateEvent: 'keyup' }"></div>      
      </div>     
     </div> 
    <div class="dx-field"> 
     <div data-bind="dxButton: { text: 'Process', clickAction: processData }"></div> 
    </div> 
</div>  

Отвечая на ваш вопрос прямо: вы можете найти любой элемент с помощью JQuery и приложить любые атрибуты к нему:

$(...).attr(...); 
Смежные вопросы