add Quantity text box


_QuickOrder.cshtml.


Project name : Colruty_935
_QuickTemplateAdd.cshtml 

<div class="tbx tbx-quantity" style="display:none">
                @{
                    string dataBind =
                        @"value: quantity,
                                attr: {
                                    'data-val-regex': validationMessage(),
                                    'data-min': minimumQuantity(), 'data-val-min': minimumValidationMessage(),
                                    'data-max': maximumQuantity(), 'data-val-max': maximumValidationMessage(),
                                    'data-step': quantityStep(), 'data-val-step': validationMessage()
                                },
                                attributeToObservable: {
                                    'data-min-msg-pattern': 'minimumValidationMessagePattern',
                                    'data-max-msg-pattern': 'maximumValidationMessagePattern',
                                    'data-step-msg-pattern': 'validationMessagePattern'
                                },
                                numericInputUpdate: selectedUom";
                }
 
                <input type="text" class="numeric" name="quantity" maxlength="8" data-val="true"
                       data-val-regex-pattern="@Patterns.Quantity"
                       data-min-msg-pattern="@Sana.SimpleText("ProductDetails_MinimumQuantityValidation").Decode()"
                       data-max-msg-pattern="@Sana.SimpleText("ProductDetails_MaximumQuantityValidation").Decode()"
                       data-step-msg-pattern="@Sana.SimpleText("Validation_QuantityValue").Decode()"
                       data-bind="@dataBind" data-spinner-init="event" />
                <span class="compact-sign-error field-validation-valid" data-valmsg-for="quantity" data-valmsg-replace="true"></span>
            </div>

add to the relevant javascript file
Sana.Spinner.init();

Error 1

followig validation will comes when we update content with partial view 2nd time
then we need reset the validation. 


//Validattion need to reset after replacing partial view
                        $("form").removeData("validator");
                        $("form").removeData("unobtrusiveValidation");
                        $.validator.unobtrusive.parse("form");


eg: divercy Project,
control.quickorder.js
When a user do a quick search and click add to template button > Partial view data repace > then need to reset the validations
//When Click Add to Template button 
        $(document).on('click''.btn-add-to-template'function (event) {
            
            var url = $(".btn-add-to-template").attr('data-src');
            var templateId = $('input[name="TemplatePopupForm_TemplateId"]').val();
            url = url + "?templateId=" + templateId;
 
            var data = self._getAddedTemplateLines();
 
            var existingData = self._readExistingQuantities();
 
            Sana.UI.LoadingIndicator.show();            
 
            return $.ajax({
                url: url,
                type: 'post',
                data: JSON.stringify(data),
                contentType: 'application/json',
                success: function (data) {
                                        
                    // window.location.reload(true);
                    debugger;
                    if (data != null && data != '') {
                        if (data.templatePartialView != null) {
                            $('.template-replace-area').replaceWith(data.templatePartialView);
                        }
                        if ($('.template-replace-area').length == 0) {
                            $('.template-popup-form').wrap("<div class='template-replace-area'></div>");
                        }
 
                        //When user add new items keep the Previous qty. 
                        self._updateQuantities(existingData);
 
                        $(".btn-add-to-template-area").hide();
                        $(".gvi-template-lines-added > tbody > tr").remove();
 
                        $("#AddLinesToBasket").show();
                        $("#ClearQuantities").show();
                        Sana.UI.LoadingIndicator.hide();
 
                        //Validattion need to reset after replacing partial view
                        $("form").removeData("validator");
                        $("form").removeData("unobtrusiveValidation");
                        $.validator.unobtrusive.parse("form");
 
                        Sana.Spinner.init();
                    }
                }
            });           
 
        });