Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 欧芹验证文件图像不';行不通_Javascript_Jquery_Forms_Validation_Parsley.js - Fatal编程技术网

Javascript 欧芹验证文件图像不';行不通

Javascript 欧芹验证文件图像不';行不通,javascript,jquery,forms,validation,parsley.js,Javascript,Jquery,Forms,Validation,Parsley.js,我有几天要研究一些方法,使图像验证是通过一个欧芹插件完成的,但不起作用。 我已仿效这个例子。 除了图像验证,它什么都能用。 要帮忙吗 {!! Form::open(array('url' => 'backend/portfolio', 'id' => 'form', 'name' => 'InserirPortfolio', 'role' => 'form', 'files'=> true, 'class' => 'form-signin', 'data-va

我有几天要研究一些方法,使图像验证是通过一个欧芹插件完成的,但不起作用。 我已仿效这个例子。 除了图像验证,它什么都能用。 要帮忙吗

{!! Form::open(array('url' => 'backend/portfolio', 'id' => 'form', 'name' => 'InserirPortfolio', 'role' => 'form', 'files'=> true, 'class' => 'form-signin', 'data-validate' => 'parsley'))!!}

<div class="row" style="margin-bottom: 20px;">
    <div class="col-md-3 col-lg-3">
        {!! Form::label('titulo', 'Titulo', ['class' => 'label_perfil']) !!}
    </div>
    <div class="col-md-9 col-lg-9">
        {!! Form::text('titulo', null, [
            'class'                         => 'form-control input-md', 
            'placeholder'                   => 'Titulo', 
            'data-required'                 => 'true',
            'data-required-message'         => 'O campo Titulo é obrigatório',
            'pattern'                       => '^[A-Za-zãÃáÁàÀêÊéÉèÈíÍìÌôÔõÕóÓòÒúÚùÙûÛçÇ ]*$',
            'data-pattern-message'          => 'Só se aceita letras',
            'data-minlength'                => '3',
            'data-minlength-message'        => 'O titulo tem de ter 3 caracteres obrigatórios',
            'data-maxlength'                => '20',
            'data-maxlength-message'        => 'O titulo não pode conter mais de 20 caracteres',
            ]) 
         !!}
    </div>
</div>
<div class="row" style="margin-bottom: 20px;">
    <div class="col-md-3 col-lg-3">
        {!! Form::label('ano', 'Ano', ['class' => 'label_perfil']) !!}
    </div>
    <div class="col-md-9 col-lg-9">
        {!! Form::text('ano', null, [
            'class'                         => 'form-control input-md', 
            'placeholder'                   => 'Ano',
            'data-required'                 => 'true',
            'data-required-message'         => 'O campo Ano é obrigatório',                                     
            'pattern'                       => '^[0-9]{4}$',
            'pattern-message'               => 'Só se aceita números',
        ]) !!}
    </div>
</div>                          
<div class="row" style="margin-bottom: 20px;">
    <div class="col-md-3 col-lg-3">
        {!! Form::label('genero', 'Categoria', ['class' => 'label_perfil']) !!}
    </div>
    <div class="col-md-9 col-lg-9">
        {!! Form::select('genero', ['Design' => 'Design', 'Web Design' => 'Web Design', 'Audiovisual' => 'Audiovisual', 'Branding' => 'Branding'], null, [
            'class'                         => 'form-control input-md',
            'data-required'                 => 'true',
            'data-required-message'         => 'O campo Categoria é obrigatório',                                       
        ]) !!}
    </div>
</div>
<div class="row" style="margin-bottom: 20px;">
    <div class="col-md-3 col-lg-3">
        {!! Form::label('descricao', 'Descrição', ['class' => 'label_perfil']) !!}
    </div>
    <div class="col-md-9 col-lg-9">
        {!! Form::textarea('descricao', null, [
            'class'                         => 'form-control input-md', 
            'style'                         => 'height: 100px; resize: none;', 
            'placeholder'                   => 'Descrição',
            'data-required'                 => 'true',
            'data-required-message'         => 'O campo Descrição é obrigatório',                                           
            'pattern'                       => '^[0-9A-Za-zãÃáÁàÀêÊéÉèÈíÍìÌôÔõÕóÓòÒúÚùÙûÛçÇ. ]*$',
            'data-pattern-message'          => 'Está algo errado',
            'data-minlength'                => '10',
            'data-minlength-message'        => 'A descrição tem de ter 10 caracteres obrigatórios',
            'data-maxlength'                => '200',
            'data-maxlength-message'        => 'A descrição não pode conter mais de 200 caracteres',                                        

        ]) !!}
    </div>
</div>                          
<div class="row" style="margin-bottom: 20px;">
    <div class="col-md-3 col-lg-3">
        {!! Form::label('imagens', 'Imagem', ['class' => 'label_perfil']) !!}
    </div>
    <div class="col-md-9 col-lg-9">
        {!! Form::file('imagens[]',[
            'class'     =>      'input-file',
            'multiple' => true,
            'required' => 'required',
            'data-parsley-filemaxmegabytes' => '2',
            'data-parsley-trigger' => 'change',
            'data-parsley-filemimetypes' => 'image/jpeg, image/png'
        ]) !!}
    </div>
</div>   


</div>
  <div class="modal-footer">
    <button type="button" class="btn btn-default" data-dismiss="modal">Fechar</button>
    {!! Form::submit('Acrescentar portfolio', ['class' => 'btn btn-primary']) !!}
  </div>
{!! Form::close() !!}

<script type="text/javascript">
    var app = app || {};

    // Utils
    (function ($, app) {
        'use strict';

        app.utils = {};

        app.utils.formDataSuppoerted = (function () {
            return !!('FormData' in window);
        }());

    }(jQuery, app));

    // Parsley validators
    (function ($, app) {
        'use strict';

        window.Parsley
            .addValidator('filemaxmegabytes', {
                requirementType: 'string',
                validateString: function (value, requirement, parsleyInstance) {

                    if (!app.utils.formDataSuppoerted) {
                        return true;
                    }

                    var file = parsleyInstance.$element[0].files;
                    var maxBytes = requirement * 1048576;

                    if (file.length == 0) {
                        return true;
                    }

                    return file.length === 1 && file[0].size <= maxBytes;

                },
                messages: {
                    en: 'File is to big'
                }
            })
            .addValidator('filemimetypes', {
                requirementType: 'string',
                validateString: function (value, requirement, parsleyInstance) {

                    if (!app.utils.formDataSuppoerted) {
                        return true;
                    }

                    var file = parsleyInstance.$element[0].files;

                    if (file.length == 0) {
                        return true;
                    }

                    var allowedMimeTypes = requirement.replace(/\s/g, "").split(',');
                    return allowedMimeTypes.indexOf(file[0].type) !== -1;

                },
                messages: {
                    en: 'File mime type not allowed'
                }
            });

    }(jQuery, app));


    // Parsley Init
    (function ($, app) {
        'use strict';

        $('#form').parsley();

    }(jQuery, app));

</script>
{!!Form::open(数组('url'=>'后端/公文包','id'=>'表单','name'=>'插入文件组合','role'=>'表单','files'=>true,'class'=>'表单签名','data validate'=>'欧芹'))
{!!Form::label('titulo','titulo',['class'=>'label_perfil'])
{!!Form::text('titulo',null[
'class'=>'form control input md',
'占位符'=>'泰特罗',
“所需数据”=>“真”,
“所需数据信息”=>“O campo Titoloéobrigatório”,
“模式”=>“^[A-Za-zã195;èèèèèèèèèèèèèèêêêèèèèèèè232,
“数据模式消息”=>“Sóse aceita letras”,
“数据最小长度”=>“3”,
“数据最小长度消息”=>“第三个字符的标题”,
“数据最大长度”=>“20”,
“数据最大长度信息”=>“20字符的内容”,
]) 
!!}
{!!Form::label('ano','ano',['class'=>'label_perfil'])
{!!Form::text('ano',null[
'class'=>'form control input md',
“占位符”=>“Ano”,
“所需数据”=>“真”,
“所需数据信息”=>“O campo Anoéobrigatório”,
'模式'=>'^[0-9]{4}$',
“模式消息”=>“Sóse aceita números”,
]) !!}
{!!Form::label('genro','Categoria',['class'=>'label\u perfil'])
{!!Form::select('genro',['Design'=>'Design','webdesign'=>'webdesign','Audiovisual'=>'Audiovisual','Branding'=>'Branding']),null[
'class'=>'form control input md',
“所需数据”=>“真”,
“所需数据信息”=>“O campo Categoriaéobrigatório”,
]) !!}
{!!Form::label('descripao','descripço',['class'=>'label_perfil'])
{!!Form::textarea('descripao',null[
'class'=>'form control input md',
'样式'=>'高度:100px;大小:无;',
“占位符”=>“描述”,
“所需数据”=>“真”,
“所需数据信息”=>“O campo DescriptionçOéobrigatório”,
“模式”=>“^[0-9A-Za-zã195;èèè205;êêêêêêêêêêêêêêêêêêêêê,
“数据模式消息”=>“Estáalgo errado”,
“数据最小长度”=>“10”,
“数据最小长度消息”=>“10个字符的描述”,
“数据最大长度”=>“200”,
“数据最大长度消息”=>“描述200个字符的内容”,
]) !!}
{!!Form::label('imagens','Imagem',['class'=>'label\u perfil'])
{!!Form::file('imagens[])[
“类”=>“输入文件”,
“多个”=>true,
“必需”=>“必需”,
'data parsley filemaxmegabytes'=>'2',
'数据欧芹触发器'=>'更改',
“data parsley filemimetypes'=>“图像/jpeg,图像/png”
]) !!}
粪便
{!!表单::提交('Acrescentar公文包',['class'=>'btn btn primary'])
{!!Form::close()!!}
var-app=app |{};
//乌提尔斯
(函数($,应用程序){
"严格使用",;
app.utils={};
app.utils.FormDataSupported=(函数(){
return!!(“窗体数据”在窗口中);
}());
}(jQuery,app));
//欧芹验证器
(函数($,应用程序){
"严格使用",;
窗户,欧芹
.addValidator('filemaxmegabytes'{
requirementType:'字符串',
validateString:函数(值、需求、实例){
如果(!app.utils.FormDataSupport){
返回true;
}
var file=parsleyInstance.$element[0]。文件;
var maxBytes=要求*1048576;
如果(file.length==0){
返回true;
}

return file.length===1&&file[0]。大小此问题的一部分可能是w/jsfiddle。我将您的欧芹javascript更改为rc4,并将method='post'添加到您的小提琴中,得到了与前几天遇到的欧芹问题相同的响应

我最终把它放在了codepen上,并且能够在那里工作/修复它

我会把这当作一个评论,但我没有要点