【问题标题】:can't browserify file - "Error: Parsing file" (HTML5 checkValidity() ?)无法浏览文件 - “错误:解析文件”(HTML5 checkValidity() ?)
【发布时间】:2018-11-20 13:31:25
【问题描述】:

我想看看是否可以使用 mocha & chai 测试表单字段验证。

我有以下文件:

./src/index.html:

<!doctype html>
<html>
    <head>
        <title>TDD Project</title>
        <style>
            #container {width: 600px; max-width: 100%; margin: 1em auto;}
        </style>
        <link rel="stylesheet" href="../node_modules/mocha/mocha.css">
    </head>
    <body>
        <div id="container">
            <form>
                <input type="text" id="text" placeholder="enter some text" required maxlength="10" pattern="^[a-z,A-Z]{1,10}$"><br />
                <input type="text" id="number" placeholder="enter a number" required maxlength="10" pattern="\d{10}"><br />
                <input type="submit">
            </form>
        </div>
        <div id="mocha"></div>
        <script src="../node_modules/mocha/mocha.js"></script>
        <script src="../node_modules/chai/chai.js"></script>
        <script>mocha.setup('bdd')</script>

        <script src="../test/test2.js"></script>

        <script>
          mocha.run();
        </script>        
    </body>
</html>

./test/test.js:

var assert = require("chai").assert;

function FormController() {
    function isValidField(fieldID){
        field = document.getElementById(fieldID);
        return(field.checkValidity() = true ? true : false);
    }
    return {
        isValidField
    }
}

describe("Simple assert", function() {
    it("foo != bar", function() {
        assert('foo' != 'bar', 'foo is not bar');
    });
    it('should return true if field is valid', function(){
        var isValidText = FormController.isValidField(text);
        var isValidNumber = FormController.isValidField(number);
        assert.equal(isValidText, true);
        assert.equal(isValidNumber, true);
    });
})

我已经运行了命令 &gt; cd test

&gt; browserify test.js &gt; test2.js

我收到错误:

Error: Parsing file /Users/user/Documents/Projects/Contact_Form/test/test.js: Assigning to rvalue (6:15)

问题似乎出在field.checkValidity(),但我不明白为什么。

是不是因为文件test.js无法访问DOM?

checkValidity()this page 上讨论的“HTML5 约束验证 API”。

帮助表示赞赏。

【问题讨论】:

    标签: javascript html browserify


    【解决方案1】:

    来自this answer

    当您在条件检查块中使用 = 而不是 == 时,会出现右值错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-21
      • 1970-01-01
      • 2011-08-31
      • 2014-10-24
      • 2018-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多