DavyJonesLocker / client_side_validations-simple_form

Simple Form plugin for ClientSideValidations
MIT License
253 stars 102 forks source link
clientsidevalidations rails simpleform

ClientSideValidations-SimpleForm

Gem Version npm version Ruby Build Status JavaScript Build Status Maintainability Coverage Status

Simple Form plugin for ClientSideValidations

Installation

In your Gemfile add the following:

gem 'simple_form'
gem 'client_side_validations'
gem 'client_side_validations-simple_form'

Order matters here. simple_form and client_side_validations need to be required before client_side_validations-simple_form.

Follow the remaining installation instructions for ClientSideValidations

JavaScript file

Instructions depend on your technology stack.

When using Webpacker

Make sure that you are requiring jQuery and Client Side Validations.

Add the following package:

yarn add @client-side-validations/simple-form

Then, according to the CSS framework and module system you are using, add one of the following lines to your app/javascript/packs/application.js pack:

// No framework / Generic frameworks / Bootstrap 3 with `import` syntax
import '@client-side-validations/simple-form/src'

// Bootstrap 4+ with `import` syntax
import '@client-side-validations/simple-form/src/index.bootstrap4'

// No framework / Generic frameworks / Bootstrap 3 with `require` syntax
require('@client-side-validations/simple-form')

// Bootstrap 4+ with `require` syntax
require('@client-side-validations/simple-form/dist/simple-form.bootstrap4.esm')

When using Sprockets

Make sure that you are requiring jQuery and Client Side Validations.

According to the web framework you are using, add one of the following lines to your app/assets/javascripts/application.js, after //= require rails.validations

// No framework / Generic frameworks / Bootstrap 3
//= require rails.validations.simple_form

// Bootstrap 4+
//= require rails.validations.simple_form.bootstrap4

If you need to copy the asset files from the gem into your project, run:

rails g client_side_validations:copy_assets

Note: If you run copy_assets, you will need to run it again each time you update this project.

Usage

The usage is the same as ClientSideValidations, just pass validate: true to the form builder

<%= simple_form_for @book, validate: true do |book| %>
  <%= book.input :name %>
<% end %>

Per-input options are done with :validate

<%= book.input :name, validate: { presence: true, uniqueness: false } %>

Authors

Brian Cardarella

Geremia Taglialatela

We are very thankful for the many contributors

Versioning

This gem follows Semantic Versioning

Want to help?

Please do! We are always looking to improve this gem. Please see our Contribution Guidelines on how to properly submit issues and pull requests.

Legal

DockYard, LLC © 2012-2023

@dockyard

Licensed under the MIT license