                   (input-css-string-has?-clean-and-set! app k))))
 
 ;; END has
+;;..................................................................................................
+
+;;**************************************************************************************************
+;;* BEGIN Throw validators
+;;* tag: <throw validators>
+;;*
+;;* description: Валидаторы с исключениями и подсветкой
+;;*
+;;**************************************************************************************************
+
+(defn get-valid-value-or-throw
+  [app path get-val-fn pred? throw-message]
+  (let [v (get-val-fn (get-in @app path))]
+    (if (pred? v)
+      (do (om/transact! app path #(assoc % :has-danger? true :text-danger throw-message))
+          (throw (js/Error. throw-message)))
+      v)))
+
+;; END
 ;;..................................................................................................
 
 ;;**************************************************************************************************

  (if (is-numeric? v)
    (js/parseInt v)
    nil))



(defn on-click-com-fn [f]

      om/IRender
      (render [_]
        (dom/div
         main-div-params

         ;;(dom/p nil (str (@app :sel)))

