Browse Source

Merge pull request #69 from synrc/validationFix

fix validation qi
SunRiseGG 4 years ago
parent
commit
9c0d3b5215
2 changed files with 5 additions and 5 deletions
  1. 1 1
      mix.exs
  2. 4 4
      src/render/wf_render_elements.erl

+ 1 - 1
mix.exs

@@ -4,7 +4,7 @@ defmodule NITRO.Mixfile do
   def project do
   def project do
     [
     [
       app: :nitro,
       app: :nitro,
-      version: "6.4.1",
+      version: "6.4.2",
       description: "NITRO Nitrogen Web Framework",
       description: "NITRO Nitrogen Web Framework",
       package: package(),
       package: package(),
       deps: deps()
       deps: deps()

+ 4 - 4
src/render/wf_render_elements.erl

@@ -29,18 +29,18 @@ render_element(Element) when is_tuple(Element) ->
           case element(#element.validation, Input) of
           case element(#element.validation, Input) of
             [] -> skip;
             [] -> skip;
             InputCode ->
             InputCode ->
-              nitro:wire(nitro:f("{var name='~s'; qi(name).addEventListener('validation',"
+              nitro:wire(nitro:f("{var name='~s'; qi(name) && qi(name).addEventListener('validation',"
                                 "function(e) { if (!(~s)) e.preventDefault(); });"
                                 "function(e) { if (!(~s)) e.preventDefault(); });"
-                                "qi(name).validation = true;}",[InputId,InputCode]))
+                                "if(qi(name)) qi(name).validation = true;}",[InputId,InputCode]))
           end
           end
         end, lists:flatten(tl(element(#element.body, element(#comboLookupEdit.form, Element)))));
         end, lists:flatten(tl(element(#element.body, element(#comboLookupEdit.form, Element)))));
       _ ->
       _ ->
         case element(#element.validation,Element) of
         case element(#element.validation,Element) of
          [] -> skip;
          [] -> skip;
          Code ->
          Code ->
-         nitro:wire(nitro:f("{var name='~s'; qi(name).addEventListener('validation',"
+         nitro:wire(nitro:f("{var name='~s'; qi(name) && qi(name).addEventListener('validation',"
                                 "function(e) { if (!(~s)) e.preventDefault(); });"
                                 "function(e) { if (!(~s)) e.preventDefault(); });"
-                                "qi(name).validation = true;}",[Id,Code])) end
+                                "if(qi(name)) qi(name).validation = true;}",[Id,Code])) end
     end,
     end,
     case element(#element.module,Element) of
     case element(#element.module,Element) of
         [] -> default_render(Tag, Element);
         [] -> default_render(Tag, Element);